V tomto tutoriálu se dotkneme základny na zipu a rozbalit příkazy a jak se používají v Linuxu. Zip je příkaz používaný k vytvoření archivního souboru nebo zazipovaného souboru. To vám umožní komprimovat soubory a vytvořit více místa pro další soubory na pevném disku nebo vyměnitelném disku. Zazipování souborů/adresářů navíc usnadňuje jejich přenositelnost a snazší je nahrávat, stahovat nebo dokonce připojovat a odesílat prostřednictvím e-mailu. Opakem zipování je rozbalování a zde k rozbalení souborů ak individuálnímu přístupu k nim používáme příkaz unzip.
Než začnete diskutovat o příkazu zip a unzip, podívejme se, jak lze tyto příkazy nainstalovat z příkazového řádku,
Nainstalujte příkaz zip &unzip na Ubuntu / Debian / Linux Mint
Otevřete terminál a spusťte následující příkaz apt,
$ sudo apt install -y zip unzip or $ sudo apt-get install -y zip unzip
Nainstalujte příkaz zip a rozbalte na CentOS / RHEL / Fedora
Otevřete terminál a proveďte níže uvedený příkaz,
$ sudo yum install -y zip unzip or $ sudo dnf install -y zip unzip
Pojďme se ponořit a podívat se, jak zip a rozbalit soubory a adresáře v Linuxu pomocí příkazu zip a unzip s příklady.
Příkaz zip v systému Linux
Zazipování souboru je stejně snadné jako ABC. Syntaxe je celkem přímočará:
$ VOLBY zip soubor archive.zip
Několik bodů, které je třeba vzít v úvahu, než budete pokračovat:
- Před komprimováním souboru musíte mít oprávnění k zápisu do souboru, který komprimujete, a umístění adresáře.
- Když rozbalíte nebo rozbalíte soubor, uživatel tento soubor/adresář vlastní.
Příklad 1) Zkomprimování jednoho souboru a více souborů pomocí příkazu zip
Předpokládejme, že máte ve svém aktuálním adresáři textový soubor – reports1.txt – a chcete jej zazipovat do archivu s názvem reports.zip.
Příkaz pro tuto operaci bude:
$ zip reports.zip reports1.txt
Navíc můžete zabalit několik souborů najednou do archivu, jak je znázorněno:
$ zip archiv.zip soubor1 soubor2 soubor3
Opět předpokládejme, že máme 3 textové soubory zprávy1.txt, zprávy2.txt a zprávy3.txt. Chcete-li je zabalit do archivu reports.zip, spusťte příkaz:
$ zip reports.zip reports1.txt reports2.txt reports3.txt
Příklad 2) Přidání souboru do archivu zip (-u)
Občas se může stát, že budete muset přidat soubor do archivu zip. Chcete-li to provést, použijte parametr -u. Chcete-li například přidat další soubor reports4.txt, spusťte:
$ zip -u reports.zip report4.txt
Příklad 3) Zobrazení obsahu zazipovaného souboru
Chcete-li zobrazit obsah zazipovaného souboru, použijte následující příkaz:
$ zipinfo archive.zip
Příklad 4) Zkomprimování všech souborů v aktuálním adresáři (*)
Pokud máte ve svém aktuálním adresáři více souborů, můžete je všechny najednou zazipovat pomocí zástupného symbolu, jak je znázorněno v syntaxi níže:
$ zip archive.zip *
Chcete-li například zkomprimovat všechny soubory v domovském adresáři do archivu home.zip, proveďte níže uvedený příkaz. Ujistěte se, že pracujete v domovském adresáři.
$ zip home.zip *
Příklad 5) Odstranění souboru z archivu (-d)
Chcete-li odstranit soubor z archivu, vyvolejte parametr -d. Chcete-li například odstranit reports4.txt ze souboru ZIP, spusťte:
$ zip -d reports.zip reports4.txt
Příklad 6) Smazat soubory po zkomprimování (-m)
Jak jste si možná všimli, původní soubory zůstanou i po jejich zazipování nebo archivaci.
Pokud chcete, abyste se jich během archivace zbavili a ušetřili místo, vyvolejte během archivace volbu -m, jak je znázorněno:
$ zip -m reports.zip reports1.txt reports2.txt reports3.txt
Příklad 7) Jak zazipovat adresář (-r)
Dosud jsme viděli, jak komprimovat soubory. Často budete mít za úkol komprimovat adresáře, protože zabírají více místa po většinu času.
Chcete-li složku zazipovat, použijte níže uvedenou syntaxi. Volba -r zazipovala složku rekurzivně.
$ zip -r složka archive.zip
Chcete-li například komprimovat data adresáře do archivu data.zip, spusťte:
$ zip -r data.zip data
Stejně jako u souborů můžete také komprimovat několik složek současně, jak je znázorněno:
$ zip -r archiv.zip složka1 složka2 složka3
Příklad 8) Zkomprimujte soubor do jiného umístění
Chcete-li soubor zazipovat do jiného umístění, než je aktuální adresář, jednoduše zadejte cestu k zazipovanému archivu ve své syntaxi, jak je znázorněno:
$ zip /path/to/destination/archive.zip file
Například soubor hello.txt je archivován do souboru file.zip v cestě Documents/data/sales.
Příklad 9) Zkomprimujte soubory i adresáře do jejich vlastních archivů
Pokud z jakéhokoli důvodu chcete komprimovat soubory a adresáře v aktuálním adresáři do jejich jednotlivých archivů zip, použijte cyklus for, jak je znázorněno:
$ for i in *; do zip -r "${i%}.zip" "$i"; done
Například níže uvedený příklad komprimuje soubor hello.txt a složku sales do vlastních archivů hello.zip a sales.zip.
Příkaz rozbalte v Linuxu
Nyní přeřaďme a zaměřme se na příkaz rozepnutí. Příkaz se používá k rozbalení nebo dekomprimaci zazipovaných souborů a adresářů. Podívejme se na několik příkladů použití příkazu:
Příklad 1) Jak zobrazit obsah zazipovaného souboru (-l)
Než rozbalíte soubor nebo adresář, můžete si zobrazit obsah archivu pomocí volby -l, jak je znázorněno:
$ unzip -l archive.zip
Například:
$ unzip -l data.zip
Příklad 2) Jak zobrazit podrobný obsah zazipovaného souboru (-Z)
Chcete-li zobrazit podrobnější informace o souboru, jako jsou oprávnění k souboru a celková velikost souborů v archivu, použijte volbu -Z, jak je znázorněno:
$ unzip -Z data.zip
Příklad 3) Jak rozbalit/dekomprimovat zazipovaný soubor (-d)
Ve své základní a nejjednodušší syntaxi má rozbalení zazipovaného souboru syntaxi uvedenou níže a vyskytuje se v aktuálním pracovním adresáři.
$ unzip archive.zip
Například:
$ unzip data.zip
Příklad 4) Rozbalte soubor do jiného adresáře
Chcete-li archiv extrahovat nebo rozbalit do jiného cíle, použijte parametr -d a zadejte cílovou cestu, jak je znázorněno
$ unzip archive.zip -d /cesta/k/destinaci/složka
Například.
$ unzip data.zip -d /home/linuxtechi/Documents
Příklad 5) Rozbalte jeden nebo více souborů z archivu
Často budete mít komprimovaný soubor s více soubory. Namísto úplné dekomprimace archivu se můžete rozhodnout pouze extrahovat jeden nebo dva soubory. Chcete-li toho dosáhnout, zadejte soubory, jak je uvedeno v syntaxi:
$ unzip archive.zip soubor1 soubor2
Chcete-li například extrahovat soubor s názvem hello.txt z archivu home.zip, spusťte
$ unzip home.zip hello.txt
Navíc můžete extrahovat soubor do jiné cílové složky namísto aktuálního adresáře. Například příkaz níže extrahuje soubor hello.txt do adresáře Documents/data/sales.
$ unzip home.zip hello.txt -d Documents/data/sales
Příklad 6) Vyloučení určitých souborů z dekomprimace (- x)
Stejně jako můžete extrahovat konkrétní soubor(y) z archivu, můžete určité soubory vyloučit z dekomprimace. To je možné pomocí volby ( -x) v zobrazené syntaxi
$ unzip archive.zip -x soubor1
Například níže uvedený příklad vylučuje extrahování souborů file1.txt &file2.txt.
$ unzip archive.zip -x file1.txt file2.txt
Příklad 7) Jak potlačit výstup příkazu unzip (-q)
Jak jste si možná všimli, podrobnosti o operaci rozbalení ukazující umístění extrakce a extrahovaných souborů jsou vytištěny na terminálu. Chcete-li tyto informace potlačit, použijte přepínač -q, jak je znázorněno:
$ unzip -q data.zip
Příklad 8) Jak přepsat existující soubory (-o)
Když spustíte příkaz unzip dvakrát ve stejném adresáři, budete dotázáni, zda chcete nahradit, ignorovat extrakci nebo přejmenovat existující soubory, jak je uvedeno ve výstupu níže.
Pokud chcete přepsat existující soubor, aniž byste byli vyzváni, použijte volbu -o, jak je uvedeno:
$ unzip -o data.zip
Příklad 9) Rozbalte více souborů
Nakonec, chcete-li rozbalit více souborů najednou, použijte zástupný znak v zobrazené syntaxi:
$ unzip '*.txt'
Všimněte si jednoduché uvozovky uzavírající parametr *.txt.
Závěr
Tím se dostáváme na konec této příručky; předvedli jsme použití příkazů zip a unzip a různé možnosti, které můžete použít. Pro více informací o jejich použití neváhejte navštívit jejich manuálové stránky. Doufáme, že dobře ovládáte používání obou příkazů a že můžete své soubory pohodlně zipovat a rozbalovat.