Hvordan ekskludere filer fra et zip-arkiv
Innholdsfortegnelse:
Den enkleste måten å ekskludere mange spesifikke filer eller en gruppe med samsvarende filer fra et zip-arkiv er ved å hoppe over det enkle zip-verktøyet som er innebygd i Mac OS Xs brukergrensesnitt og gå over til kommandolinjen, der kraftig zip-kommando ligger. Dette er nyttig av en million og én grunner, men den primære motivasjonen for dette innlegget gjelder .DS_Store-filene som blir samlet sammen med zip-arkiver opprettet på en Mac, bare for å rote til en annen maskin som pakker ut filen, enten den er på en annen Mac, Windows PC eller Linux.Det skjer med både det vennlige zip-verktøyet og kommandolinje-zip-verktøyet som standard, og det er fordi zip-verktøyets standardoppførsel er å inkludere skjulte filer enten de vises eller ikke. Det er ikke nødvendigvis en dårlig ting, og i mange tilfeller vil det anses som nyttig, men hvis du ikke vil at de, eller noen annen fil for den saks skyld, skal vises i arkivene dine, så les videre.
Hvordan ekskludere filer fra et zip-arkiv
Det grunnleggende om filekskludering når du oppretter et zip-arkiv er sentrert rundt -x-flagget, som brukes til å ekskludere filer fra arkivet som samsvarer med et bestemt navn eller mønster. På det mest grunnleggende vil det se slik ut:
"zip archive.zip-filer -x ExcludeMe"
Det betyr at du kan ekskludere en enkelt fil, si at den heter «Nothanks.jpg»
"zip archive.zip images/ -x Nothanks.jpg"
La oss dekke noen spesifikke eksempler hvor dette er nyttig.
Ekskluder .DS_Store-filer fra zip-arkiver
Dette vil forhindre at de typisk usynlige Mac-metadataene .DS_Store-filene blir inkludert i et zip-arkiv, som er samlet i som standard:
"zip -r arkivnavn.zip arkivkatalog -x .DS_Store"
Hvis katalogen inneholder underkataloger, vil du imidlertid bruke en annen variant av den kommandoen for å ekskludere ds_store-filene fra underkataloger også:
"zip -r archive.zip katalog -x /\.DS_Store"
Merk: Ikke alle skall krever anførselstegn for at denne kommandoen skal fungere ordentlig, men i bash-skallet (standard for Mac OS X) må du bruke anførselstegnene for å ekskludere med jokertegn og mønstre.
Ekskluder spesifikke filtyper fra et zip-arkiv
Med jokertegn kan du også ekskludere alle filer av en bestemt type ved å fokusere på utvidelsen. For eksempel vil denne kommandoen zippe en hel katalog, minus eventuelle .jpg-filer:
"zip -r archive.zip katalog -x .jpg"
Dette kan endres for en hvilken som helst spesifikk filtype eller mønster som samsvarer med et filnavn.
Ekskluder .git- eller .svn-katalogen fra et zip-arkiv
"Zip en katalog, minus .git og dens innhold: zip -r zipdir.zip directorytozip -x .git "
Zip en mappe, uten å inkludere .svn-katalogen: zip -r zipped.zip-katalog -x .svn "
Ekskluder alle skjulte filer fra et zip-arkiv
… .bash_profile eller .htaccess.
zip -r archivename.zip directorytozip -x ."
Eller for å ekskludere alle usynlige filer fra alle underkataloger:
"zip -r archive.zip katalog -x /\."
Skål til en kommentator på Macworld-forumene for den nøyaktige syntaksen på å ekskludere disse filene fra underkataloger også.
Til syvende og sist er dette bare enda en grunn for superbrukere til å hoppe til terminalen for å lage arkiver. Med kraftige funksjoner som jokertegnstøtte, ekskludering og valgfri passordbeskyttelse av zip-er, er den bare mer fullverdig, og siden alt er inkludert på Mac uansett, trenger du ikke å laste ned en annen app for å støtte de avanserte funksjonene.
Og ja, teknisk sett, hvis du var fast bestemt på å bli i brukergrensesnittet, kunne du bruke Finder- og Spotlight-søkeoperatorer for å begrense innholdet i en mappe i Mac OS X før du oppretter et arkiv, eller bare Velg alt og manuelt Kommando+klikk hver fil for å ikke inkludere, men det er egentlig ikke effektivt for store arkiveringsoperasjoner.Dermed vinner terminalen for enkelhetens skyld, og til tross for at den er sentrert rundt kommandolinjen, er den virkelig ikke komplisert når du først har lært det grunnleggende.