V předchozí příručce jsme se naučili, jak archivovat soubory a adresáře pomocí příkazu tar v Linuxu. Nyní uděláme totéž, ale pomocí Zip Rozbalte programy. Aplikace zip je archivační i komprimační utilita, takže ji můžeme použít k archivaci, komprimaci a dekomprimaci souborů a adresářů v operačních systémech Linux a Unix. Tato zip aplikace je kompatibilní pro Windows a další zip aplikace OS. Nicméně gzip a bzip2 jsou převládajícími kompresními aplikacemi. Nyní se podívejme, jak archivovat soubory a adresáře v Linuxu pomocí Zip program.
Archivujte soubory a adresáře v Linuxu pomocí programu Zip
Program Zip je dodáván s předinstalovanými některými distribucemi Linuxu. Pro případ, že by nebyl dostupný, můžete jej nainstalovat pomocí výchozího správce balíčků distribuce.
Na Arch Linuxu a jeho variantách:
$ sudo pacman -S rozbalit zip
Na RHEL, CentOS, Fedora:
$ sudo yum install zip unzip
V systémech Debian, Ubuntu, Linux Mint:
$ sudo apt-get install zip unzip
Na SUSE/openSUSE:
$ sudo zypper install zip unzip
Nyní se podívejme na několik příkladů.
Vytvoření nového archivu
Chcete-li archivovat skupinu souborů do jednoho, jednoduše postupujte takto:
$ soubor zip.zip soubor1 soubor2 soubor3
Ukázkový výstup by byl:
přidání:soubor1 (uloženo 0 %)přidání:soubor2 (uloženo 0 %)přidání:soubor3 (uloženo 0 %)
Zde vytvoříme archiv s názvem soubor.zip ze souboru1 , soubor2 a soubor 3 . Nemusíte používat .zip přípona na konci názvu souboru. Přidal jsem to kvůli přehlednosti.
Podobně pro vytvoření archivu adresáře spusťte:
$ zip directory.zip otechnix/ přidání:ostechnix/ (uloženo 0 %)
Zde jsem vytvořil archiv s názvem adresář.zip z ostechnix složka. Vezměte prosím na vědomí, že tím přidáte pouze nadřazený adresář (tj.) do archivu. Chcete-li archivovat všechny podadresáře rekurzivně, použijte -r příznak jako níže.
$ zip -r adresář.zip otechnix/ přidání:ostechnix/ (uloženo 0 %) přidání:ostechnix/file.txt (vypuštěno 67 %) přidání:ostechnix/audio.mp3 (vypuštěno 6 %) přidání:ostechnix/image.jpg (vypuštěno 3 %)
Na rozdíl od nástroje tar program zip vytváří archiv a komprimuje jej, kde je to možné. Ale tar je archivátor, ne komprimační nástroj.
Vytvořte archiv více adresářů a/nebo souborů najednou
Někdy může být nutné vytvořit archiv ze skupiny souborů a složek. Chcete-li to provést, spusťte:
$ zip -r adresář.zip otechnix/ soubor1 soubor2 soubor3 přidání:example/ (uloženo 0 %) přidání:example/Stephen.jpg (deflace 3 %) přidání:soubor1 (uloženo 0 %) přidání:soubor2 (uloženo 0 %) přidání:soubor3 (uloženo 0 %)
Výše uvedený příkaz vytvoří archiv s názvem adresář.zip od ostechnix adresář a skupinu souborů konkrétně soubor2 , soubor2 , soubor 3 .
Nyní vám ukážu další příklad.
$ adresář zip.soubor zip4 přidání:soubor4 (uloženo 0 %)
Všiml sis? Zadal jsem existující archiv, ale program zip aktualizoval obsah existujícího archivního souboru, aniž by je nahradil. Pokud tedy zadáte existující archiv, bude aktualizován, nikoli nahrazen. Jednoduše řečeno, stávající archiv je zachován, je přidán nový soubor4. Toto je významná výhoda programu zip oproti nástroji tar.
Rozbalit archivy
Rozbalování archivů je stejně jednoduché jako vytváření archivů. Chcete-li rozbalit archiv, jednoduše postupujte takto:
$ unzip directory.zip
Ukázkový výstup by byl:
Archiv:vytvoření adresáře.zip:ostechnix/ nafouknutí:ostechnix/soubor.txt nafouknutí:ostechnix/audio.mp3 nafouknutí:ostechnix/image.jpg rozbalení:soubor1 rozbalení:soubor2 rozbalení:soubor3 rozbalení:soubor4
Můžete také selektivně extrahovat konkrétní soubor nebo složku z adresáře. Například následující příkaz extrahuje file4 z archivu adresář.zip .
$ unzip directory.zip file4 Archiv:adresář.zip rozbalení:soubor4
Vypsat obsah archivu bez jeho rozbalení
Chcete-li vypsat obsah archivu bez jeho skutečného rozbalení, použijte -l vlajka.
$ unzip -l adresář.zip Archiv:directory.zip Délka Datum Čas Jméno--------- ---------- ----- ---- 0 2018-03-29 15:55 ostechnix/ 1286 2018 -01-11 12:16 ostechnix/file.txt 8073033 2018-03-29 14:03 ostechnix/audio.mp3 15240 2018-03-29 14:45 ostechnix/image.jpg 89 soubor 51150:5 2018-03-29 15:58 file2 5 2018-03-29 15:58 file3 5 2018-03-29 16:37 file4--------- ------- 8089579 8 souborůTo může být užitečné, když chcete místo rozbalování celého archivu najít a extrahovat konkrétní soubor.
Vytvoření šifrovaného archivu
Další pozoruhodnou vlastností příkazu zip je, že nám umožňuje vytvořit šifrovaný archiv, takže uživatelé potřebují zadat heslo, aby mohli extrahovat nebo zobrazit obsah archivu.
Chcete-li vytvořit šifrovaný archiv, použijte -e vlajka.
$ zip -e -r adresář.zip otechnix/ soubor1 soubor2 soubor3 soubor4 Zadejte heslo: Ověřte heslo: přidání:ostechnix/ (uloženo 0 %) přidání:ostechnix/file.txt (vypuštěno 67 %) přidání:ostechnix/audio.mp3 (vypuštěno 6 %) přidání:ostechnix/image.jpg (vypuštěno 3 %) přidání:soubor1 (uloženo 0 %) přidání:soubor2 (uloženo 0 %) přidání:soubor3 (uloženo 0 %) přidání:soubor4 (uloženo 0 %Při rozbalování nebo prohlížení obsahu archivu musíte zadat správné heslo.
$ unzip directory.zip Archiv:adresář.zip[adresář.zip] otechnix/soubor.txt heslo :Vytvořte vícedílný archiv
Někdy může být nutné sdílet archivní soubor přes internet a tento archivní soubor sám o sobě může být příliš velký na to, aby jej bylo možné odeslat přes internet nebo LAN. V takových případech můžeme vytvořit vícenásobné malé archivy a odeslat je přes internet.
Chcete-li archivovat adresář na více menších částí, například 3 MB každý, děláme:
$ zip -r -s 3m archive.zip otechnix/Tento příkaz vytvoří archivní soubory o velikosti 3 MB jako archive.z01 , archive.z02 , archive.z03 .... a archive.zip . Tyto soubory musíte odeslat příjemci. Při extrahování těchto archivních souborů bude veškerý obsah extrahován do jediné složky s názvem ostechnix .
Chcete-li archiv rozdělit na GB, použijte „g“, jak je uvedeno níže:
$ zip -r -s 3g archive.zip otechnix/Vytvářejte archivy jiných programů
Zip může přijímat standardní vstup, takže je možné vytvořit archiv dalších programů. Následující příkaz převádí výstup příkazu "ls" jako vstup do příkazu zip.
$ ls -l Dokumenty/ | zip ls-documents.zip - přidání:- (vypuštěno o 56 %)Zapamatujte si zde ls-documents.zip je archiv příkazu "ls". Nezobrazí tedy obsah archivu pomocí -l přepínač.
Místo toho můžete zobrazit jeho obsah pomocí příkazu:
$ unzip -p ls-documents.zip | méněZde, -p odkazuje potrubí.
Komprimujte archivy s mírou komprese
Chcete-li archivovat adresář a jeho obsah s nejvyšší úrovní [9] komprese:
$ zip -r -9 archive.zip otechnix/Zip podporuje tři úrovně komprese, jak je uvedeno níže.
- 1 – Nejrychlejší (nejhorší)
- 9 – Nejpomalejší (nejlepší nebo nejvyšší)
- 6 – Výchozí úroveň
Při vytváření archivů vylučte soubory nebo složky
Při vytváření archivu můžeme vyloučit nežádoucí soubory nebo podadresáře. Chcete-li to provést, použijte -x příznak jako níže:
$ zip -r adresář.zip ostechnix/ -x ostechnix/image.jpg
Výše uvedený příkaz vytvoří archiv adresáře ostechnix, ale vyloučí image.jpg soubor z archivu.
Obsah můžete ověřit bez rozbalování archivního souboru pomocí následujícího příkazu.
$ unzip -l adresář.zip
Smazat soubory z existujícího archivu
Možná jste při vytváření archivů zapomněli vyloučit některé nežádoucí položky. Bez obav! Tyto soubory můžete smazat i po vytvoření archivu.
Chcete-li odstranit nežádoucí soubory z existujícího archivu, použijte -d příznak, jak je znázorněno níže.
$ zip -d adresář.zip "ostechnix/soubor.txt" odstranění:ostechnix/file.txt
Podobně lze odstranit skupinu stejného typu souborů, například .txt použití souborů:
$ zip -d adresář.zip "ostechnix/*.txt"
A to je zatím vše. Poškrábali jsme pouze povrch příkazů zip/unzip. Pomocí těchto programů můžete udělat mnohem více. Další podrobnosti naleznete na manuálových stránkách.
$ man zip
$ man rozbalit