ZIP je nejrozšířenější formát archivních souborů, který podporuje bezztrátovou kompresi dat. Soubor ZIP je datový kontejner obsahující jeden nebo více komprimovaných souborů nebo adresářů.
V tomto tutoriálu vysvětlíme, jak rozbalit soubory v systémech Linux pomocí příkazového řádku pomocí unzip
příkaz.
Instalace unzip
#
unzip
Ve většině distribucí Linuxu není standardně nainstalován, ale můžete jej snadno nainstalovat pomocí správce balíčků vaší distribuce.
Instalovat unzip
na Ubuntu a Debianu #
sudo apt install unzip
Instalovat unzip
na CentOS a Fedora #
sudo yum install unzip
Jak rozbalit soubor ZIP #
V nejjednodušší podobě, když se použije bez jakékoli možnosti, unzip
příkaz extrahuje všechny soubory ze zadaného ZIP archivu do aktuálního adresáře.
Řekněme, že jste si například stáhli instalační soubor Wordpress ZIP. Chcete-li tento soubor rozbalit do aktuálního adresáře, jednoduše byste spustili následující příkaz:
unzip latest.zip
Soubory ZIP nepodporují informace o vlastnictví ve stylu Linuxu. Extrahované soubory jsou ve vlastnictví uživatele, který příkaz spustí.
Musíte mít oprávnění k zápisu do adresáře, kam rozbalujete archiv ZIP.
Potlačit výstup unzip
Příkaz #
Ve výchozím nastavení unzip
vytiskne názvy všech souborů, které rozbaluje, a shrnutí po dokončení rozbalování.
Použijte -q
přepnutím potlačíte tisk těchto zpráv.
unzip -q filename.zip
Rozbalte soubor ZIP do jiného adresáře #
Chcete-li rozbalit soubor ZIP do jiného adresáře, než je aktuální, použijte -d
přepínač:
unzip filename.zip -d /path/to/directory
Chcete-li například rozbalit archiv WordPress latest.zip
na /var/www/
adresář, použijete následující příkaz:
sudo unzip latest.zip -d /var/www
Ve výše uvedeném příkazu používáme sudo
protože uživatel, pod kterým jsme přihlášeni, obvykle nemá oprávnění k zápisu do /var/www
adresář. Když jsou soubory ZIP dekomprimovány pomocí sudo
, extrahované soubory a adresáře jsou ve vlastnictví uživatele root.
Rozbalte soubor ZIP chráněný heslem #
Chcete-li rozbalit soubor, který je chráněn heslem, vyvolejte unzip
pomocí -P
možnost následovaná heslem:
unzip -P PasswOrd filename.zip
Zadávání hesla na příkazovém řádku není bezpečné a je třeba se mu vyhnout. Bezpečnější možností je extrahovat soubor normálně bez zadání hesla. Pokud je soubor ZIP zašifrován, unzip
vás vyzve k zadání hesla:
unzip filename.zip
archive: filename.zip
[filename.zip] file.txt password:
unzip
bude používat stejné heslo pro všechny zašifrované soubory, pokud je správné.
Vyloučit soubory při rozbalování souboru ZIP #
Chcete-li vyloučit konkrétní soubory nebo adresáře z extrahování, použijte -x
následuje mezerou oddělený seznam archivních souborů, které chcete vyloučit z rozbalování:
unzip filename.zip -x file1-to-exclude file2-to-exclude
V následujícím příkladu extrahujeme všechny soubory a adresáře z archivu ZIP kromě .git
adresář:
unzip filename.zip -x "*.git/*"
Přepsat existující soubory #
Řekněme, že jste již rozbalili soubor ZIP a znovu spouštíte stejný příkaz:
unzip latest.zip
Ve výchozím nastavení unzip
se vás zeptá, zda chcete přepsat pouze aktuální soubor, přepsat všechny soubory, přeskočit extrakci aktuálního souboru, vynechat extrahování všech souborů nebo přejmenovat aktuální soubor.
Archive: latest.zip
replace wordpress/xmlrpc.php? [y]es, [n]o, [A]ll, [N]one, [r]ename:
Pokud chcete přepsat existující soubory bez výzvy, použijte -o
možnost:
unzip -o filename.zip
Tuto možnost používejte opatrně. Pokud jste v souborech provedli nějaké změny, změny budou ztraceny.
Rozbalte soubor ZIP bez přepsání existujících souborů #
Řekněme, že jste již rozbalili soubor ZIP a provedli jste změny v některých souborech, ale omylem jste smazali několik souborů. Chcete zachovat změny a obnovit smazané soubory z archivu ZIP.
V tomto případě použijte -n
možnost, která vynutí unzip
pro přeskočení extrakce souboru, který již existuje:
unzip -n filename.zip
Rozbalte více souborů ZIP #
Ke spárování více archivů můžete použít regulární výrazy.
Pokud máte například ve svém aktuálním pracovním adresáři více souborů ZIP, můžete všechny soubory rozbalit pomocí jediného příkazu:
unzip '*.zip'
Všimněte si jednoduchých uvozovek kolem *.zip
. Pokud jste zapomněli uvést argument, shell rozšíří zástupný znak a vy dostanete chybu.
Seznam obsahu souboru ZIP #
Chcete-li zobrazit obsah souboru ZIP, použijte -l
možnost:
unzip -l filename.zip
V níže uvedeném příkladu uvádíme všechny instalační soubory WordPress:
unzip -l latest.zip
Výstup bude vypadat takto:
Archive: latest.zip
Length Date Time Name
--------- ---------- ----- ----
0 2018-08-02 22:39 wordpress/
3065 2016-08-31 18:31 wordpress/xmlrpc.php
364 2015-12-19 12:20 wordpress/wp-blog-header.php
7415 2018-03-18 17:13 wordpress/readme.html
...
...
21323 2018-03-09 01:15 wordpress/wp-admin/themes.php
8353 2017-09-10 18:20 wordpress/wp-admin/options-reading.php
4620 2017-10-24 00:12 wordpress/wp-trackback.php
1889 2018-05-03 00:11 wordpress/wp-comments-post.php
--------- -------
27271400 1648 files
Závěr č.
unzip
je nástroj, který vám pomůže vytvořit seznam, testovat a extrahovat komprimované archivy ZIP.
Chcete-li vytvořit archiv ZIP v systému Linux, budete muset použít příkaz zip.
Pokud máte nějaké dotazy, neváhejte zanechat komentář.