Ako vylúčiť súbory z archívu ZIP
Obsah:
Najjednoduchší spôsob, ako vylúčiť veľa konkrétnych súborov alebo skupinu zodpovedajúcich súborov z archívu zip, je preskočiť nástroj na jednoduché zipsovanie zabudovaný do priateľského používateľského rozhrania systému Mac OS X a prejsť na príkazový riadok, kde výkonný príkaz zips. Je to užitočné z milióna a jedného dôvodu, ale primárna motivácia pre tento príspevok sa týka súborov .DS_Store, ktoré sa zhromažďujú spolu s archívmi zip vytvorenými na Macu, len aby zaplnili ďalší počítač, ktorý rozbalí súbor, či už je na inom Mac, Windows PC alebo linux.Stáva sa to v predvolenom nastavení s priateľským nástrojom zip a pomôckou zip príkazového riadku a je to preto, že predvolené správanie nástrojov na zips je zahrnutie skrytých súborov bez ohľadu na to, či sú zobrazené alebo nie. Nie je to nevyhnutne zlá vec a v mnohých prípadoch by sa to považovalo za užitočné, ale ak nechcete, aby sa vo vašich archívoch zobrazovali ani iný súbor, potom čítajte ďalej.
Ako vylúčiť súbory z archívu ZIP
Základy vylúčenia súborov pri vytváraní archívu zip sú sústredené okolo príznaku -x, ktorý sa používa na vylúčenie súborov z archívu, ktoré zodpovedajú špecifickému názvu alebo vzoru. V podstate to bude vyzerať takto:
"zip archív.zip súbory -x ExcludeMe"
To znamená, že môžete vylúčiť jeden súbor, povedzme, že sa volá „Nothanks.jpg“
"zip archive.zip images/ -x Notthanks.jpg"
Uveďme si niekoľko konkrétnych príkladov, kde je to užitočné.
Vylúčiť súbory .DS_Store z archívov ZIP
Toto zabráni zahrnutiu typicky neviditeľných súborov .DS_Store s metadátami Mac do archívu zip, ktorý je štandardne združený:
"zip -r názov archívu.zip adresár archívu -x .DS_Store"
Ak však adresár obsahuje podadresáre, budete chcieť použiť inú variáciu tohto príkazu na vylúčenie súborov ds_store z podadresárov:
"zip -r archív.zip adresár -x /\.DS_Store"
Poznámka: nie všetky shelly vyžadujú úvodzovky, aby tento príkaz fungoval správne, ale v bash shell (predvolené pre Mac OS X) budete musieť použiť úvodzovky na vylúčenie pomocou zástupných znakov a vzorov.
Vylúčenie konkrétnych typov súborov z archívu ZIP
Pomocou zástupných znakov môžete tiež vylúčiť všetky súbory určitého typu zameraním sa na príponu. Tento príkaz napríklad zazipuje celý adresár bez akýchkoľvek súborov .jpg:
"zip -r archív.zip adresár -x .jpg"
To je možné upraviť pre akúkoľvek konkrétnu príponu súboru alebo vzor zhodný s názvom súboru.
Vylúčenie adresára .git alebo .svn z archívu zip
"Zip adresár, mínus .git a jeho obsah: zip -r zipdir.zip adresártozip -x .git "
Zip priečinok bez zahrnutia adresára .svn: zip -r adresár zipped.zip -x .svn "
Vylúčiť všetky skryté súbory z archívu ZIP
Vzhľadom na to, že je možné použiť vzory a zástupné znaky, môžete tiež vylúčiť všetky alebo všetky neviditeľné súbory a priečinky, ktoré sú takto vytvorené, a to tak, že ich predponou je bodka, či už ide o adresár ako .svn alebo samostatný súbor ako .bash_profile alebo .htaccess.
zip -r názov archívu.zip adresártozip -x ."
Alebo vylúčiť všetky neviditeľné súbory zo všetkých podadresárov:
"zip -r archív.zip adresár -x /\."
Na zdravie komentátorovi na fórach Macworld za presnú syntax vylúčenia týchto súborov aj z podadresárov.
V konečnom dôsledku je to len ďalší dôvod pre skúsených používateľov, aby skočili do terminálu na vytváranie archívov. Vďaka výkonným funkciám, ako je podpora zástupných znakov, vylúčenie a voliteľná ochrana zipsov heslom, je jednoducho plnohodnotnejší, a keďže je aj tak všetko súčasťou Macu, na podporu pokročilých funkcií si nebudete musieť sťahovať ďalšiu aplikáciu.
A áno, technicky, ak ste boli rozhodnutí zostať v používateľskom rozhraní, môžete použiť vyhľadávacie operátory Finder a Spotlight na zúženie obsahu priečinkov v systéme Mac OS X pred vytvorením archívu, alebo jednoducho vybrať všetko a manuálne Command + kliknite na každý súbor, ktorý nechcete zahrnúť, ale to naozaj nie je efektívne pre veľké operácie archivácie.Terminál teda víťazí v jednoduchosti a napriek tomu, že je sústredený okolo príkazového riadku, naozaj to nie je zložité, keď sa naučíte základy.