Zip je nejrozšířenější formát archivních souborů, který podporuje bezeztrátovou kompresi dat.
Soubor Zip je datový kontejner obsahující jeden nebo více komprimovaných souborů nebo adresářů. Komprimované (zazipované) soubory zabírají méně místa na disku, lze je přenášet z jednoho počítače na druhý rychleji než nekomprimované soubory. Soubory Zip lze snadno extrahovat v systémech Windows, MacOS a Linux pomocí nástrojů dostupných pro všechny operační systémy.
V tomto návodu si ukážeme, jak v systému Linux vytvořit soubory a adresáře Zip (komprimované) pomocí příkazu zip
.
Příkaz zip #
zip
je nástroj příkazového řádku, který vám pomůže vytvořit archivy Zip.
Příkaz zip má následující syntaktickou podobu:
zip OPTIONS ARCHIVE_NAME FILES
Pro vytvoření archivu Zip v určitém adresáři musí mít uživatel práva zápisu do tohoto adresáře.
Soubory Zip nepodporují informace o vlastnictví ve stylu Linuxu. Rozbalené soubory jsou vlastněny uživatelem, který spustil příkaz.
Pro zachování vlastnictví souborů a práv použijte příkaz tar
.
Utilita zip
není ve většině distribucí Linuxu standardně nainstalována, ale můžete ji snadno nainstalovat pomocí správce balíčků vaší distribuce.
Instalace Zipu v Ubuntu a Debianu #
sudo apt install zip
Instalace Zipu v systémech CentOS a Fedora #
sudo yum install zip
Jak zazipovat soubory a adresáře #
Chcete-li zazipovat jeden nebo více souborů, zadejte soubory, které chcete přidat do archivu, oddělené mezerou, jak je uvedeno níže:
zip archivename.zip filename1 filename2 filename3
adding: filename1 (deflated 63%)adding: filename2 (stored 0%)adding: filename3 (deflated 38%)
Příkaz zip
ve výchozím nastavení vypíše názvy souborů přidaných do archivu a způsob komprese. Metody a úroveň komprese vysvětlíme později v této příručce.
Při zadávání názvu archivu Zip, pokud vynecháte příponu .zip
, bude přidána automaticky, pokud název archivu neobsahuje tečku. zip archivename.zip filename
vytvoří archiv se stejným názvem, jako by vytvořil zip archivename filename
.
Chcete-li potlačit výstup příkazu zip
, použijte volbu -q
:
zip -q archivename.zip filename1 filename2 filename3
Často budete vytvářet archiv Zip adresáře včetně obsahu podadresářů. Volba -r
umožňuje rekurzivně procházet celou adresářovou strukturu.
Pro vytvoření archivu Zip adresáře použijete:
zip -r archivename.zip directory_name
Do jednoho archivu můžete také přidat více souborů a adresářů:
zip -r archivename.zip directory_name1 directory_name2 file1 file1
Metody a úrovně komprese #
Výchozí metodou komprese Zip je deflate. Pokud nástroj ZIP zjistí, že soubor nelze komprimovat, jednoduše jej uloží do archivu bez komprese pomocí metody ukládání. Ve většině linuxových distribucí podporuje nástroj ZIP také kompresní metodu bzip2.
Chcete-li zadat kompresní metodu, použijte volbu -Z
.
zip -r -Z bzip2 archivename.zip directory_name
...adding: sub_dir/ (stored 0%)adding: sub_dir/file1 (bzipped 52%)adding: sub_dir/file2 (bzipped 79%)
Příkaz zip
umožňuje zadat úroveň komprese pomocí čísla s předponou pomlčka od 0 do 9. Výchozí úroveň komprese je -6
. Při použití -0
budou všechny soubory uloženy bez komprese. Příkaz -9
přinutí příkaz zip
použít optimální kompresi pro všechny soubory.
Chcete-li například použít úroveň komprese -9
, zadáte něco takového:
zip -9 -r archivename.zip directory_name
Čím vyšší je úroveň komprese, tím je proces zipování náročnější na procesor a trvá déle.
Vytvoření souboru ZIP chráněného heslem #
Pokud máte v archivu uloženy citlivé informace, můžete je zašifrovat pomocí možnosti -e
:
zip -e archivename.zip directory_name
Budete vyzváni k zadání a ověření hesla archivu:
Enter password:Verify password:
Vytvoření rozděleného souboru Zip #
Představte si, že chcete archiv Zip uložit na službu hostingu souborů, která má limit velikosti nahraného souboru 1 GB a váš archiv Zip má 5 GB.
zip -s 1g -r archivename.zip directory_name
Výše uvedený příkaz bude vytvářet nové archivy v sadě i po dosažení zadaného limitu velikosti.
archivename.ziparchivename.z01archivename.z02archivename.z03archivename.z04
Příklady ZIP #
Vytvořte archiv Zip s názvem archivename.zip obsahující všechny soubory v aktuálním adresáři.
zip archivename *
Stejný postup jako výše včetně skrytých souborů (soubory začínající tečkou):
zip archivename .* *
Vytvořte archiv Zip s názvem archivename.zip
obsahující všechny soubory MP3 v aktuálním adresáři bez komprese souborů.
zip -0 archivename *.mp3
Závěr #
V systému Linux můžete vytvářet archivy ZIP pomocí příkazu zip
.
Pro rozbalení archivu ZIP v systému Linux můžete použít příkaz unzip .
Pokud se chcete o Zipu dozvědět více, navštivte stránku Zip Man.
.