Cum să excludeți fișiere dintr-o arhivă Zip

Cuprins:

Anonim

Cea mai ușoară modalitate de a exclude multe fișiere specifice sau un grup de fișiere potrivite dintr-o arhivă zip este săriți peste utilitarul ușor de zip încorporat în interfața de utilizare prietenoasă a Mac OS X și să treceți la linia de comandă, unde comandă zip puternică rezidă. Acest lucru este util din un milion și unul de motive, dar motivația principală pentru această postare se referă la fișierele .DS_Store care sunt incluse împreună cu arhivele zip create pe un Mac, doar pentru a aglomera o altă mașină care dezarhivează fișierul, indiferent dacă este pe altul. Mac, PC Windows sau Linux.Acest lucru se întâmplă în mod implicit atât cu instrumentul prietenos zip, cât și cu utilitarul zip din linia de comandă, și se datorează faptului că comportamentul implicit al instrumentelor de zip este includerea fișierelor ascunse indiferent dacă sunt afișate sau nu. Acesta nu este neapărat un lucru rău și, în multe cazuri, ar fi considerat util, dar dacă nu doriți ca acestea sau orice alt fișier să apară în arhivele dvs., citiți mai departe.

Cum să excludeți fișiere dintr-o arhivă Zip

Elementele de bază ale excluderii fișierelor la crearea unei arhive zip sunt centrate în jurul indicatorului -x, care este folosit pentru a exclude fișierele din arhivă care se potrivesc cu un anumit nume sau model. În general, va arăta astfel:

"

zip archive.zip files -x ExcludeMe"

Însemnând că puteți exclude un singur fișier, să spunem că se numește „Nothanks.jpg”

"

zip archive.zip images/ -x Nothanks.jpg"

Să acoperim câteva exemple specifice în care acest lucru este util.

Excludeți fișierele .DS_Store din arhivele Zip

Acest lucru va împiedica includerea fișierelor .DS_Store de metadatele Mac, de obicei invizibile, într-o arhivă zip, care sunt incluse în mod implicit:

"

zip -r archivename.zip archivedirectory -x .DS_Store"

Dacă directorul include subdirectoare, totuși, veți dori să utilizați o altă variantă a acelei comenzi pentru a exclude și fișierele ds_store din subdirectoare:

"

zip -r archive.zip directory -x /\.DS_Store"

Notă: nu toate shell-urile necesită ghilimele pentru ca această comandă să funcționeze corect, dar în shell-ul bash (implicit pentru Mac OS X) va trebui să utilizați ghilimele pentru excluderea cu metacaractere și modele.

Exclude anumite tipuri de fișiere dintr-o arhivă Zip

Cu metacaracterele, puteți, de asemenea, să excludeți toate fișierele de un anumit tip concentrându-vă pe extensie. De exemplu, această comandă va arhiva un întreg director, minus orice fișiere .jpg:

"

zip -r archive.zip director -x .jpg"

Acest lucru ar putea fi modificat pentru orice extensie de fișier sau model specific care se potrivește într-un nume de fișier.

Excludeți directorul .git sau .svn dintr-o arhivă Zip

"

Zip un director, minus .git și conținutul său: zip -r zipdir.zip directorytozip -x .git "

"

Zip un folder, fără a include directorul .svn: zip -r director zipped.zip -x .svn "

Exclude toate fișierele ascunse dintr-o arhivă Zip

Deoarece pot fi folosite modele și metacaractere, puteți exclude, de asemenea, oricare sau toate fișierele și folderele invizibile care sunt create astfel, fiind prefixate cu un punct, indiferent dacă este un director precum .svn sau un fișier individual precum .bash_profile sau .htaccess.

"

zip -r archivename.zip directorytozip -x ."

Sau pentru a exclude toate fișierele invizibile din toate subdirectoarele:

"

zip -r archive.zip directory -x /\."

Salut un comentator de pe forumurile Macworld pentru sintaxa precisă privind excluderea acelor fișiere și din subdirectoare.

În cele din urmă, acesta este doar un alt motiv pentru utilizatorii cu putere să sară la Terminal pentru a crea arhive. Cu funcții puternice, cum ar fi suportul pentru wildcard, excluderea și protecția opțională prin parolă pentru zip, este doar mai cu funcții complete și, deoarece este oricum inclus pe Mac, nu va trebui să descărcați o altă aplicație pentru a accepta funcțiile avansate.

Și da, din punct de vedere tehnic, dacă ați fi hotărât să rămâneți în interfața de utilizare, puteți utiliza operatorii de căutare Finder și Spotlight pentru a restrânge conținutul unui folder în Mac OS X înainte de a crea o arhivă sau doar Selectați toate și manual Comandă + Clic pe fiecare fișier pentru a nu include, dar acest lucru nu este într-adevăr eficient pentru operațiuni mari de arhivare.Astfel, terminalul câștigă pentru ușurință și, în ciuda faptului că este centrat în jurul liniei de comandă, nu este cu adevărat complicat odată ce înveți elementele de bază.

Cum să excludeți fișiere dintr-o arhivă Zip