Zip je populární multiplatformní příkaz používaný ke kompresi a archivaci dat. Komprese šetří místo zmenšením velikosti dat, zatímco archivace usnadňuje přenos dat kombinací více souborů nebo adresářů do jednoho souboru. Zvažte, jestli musíme přes internet přenést 5 souborů, každý o velikosti 50 megabajtů; přenos všech souborů jeden po druhém může trvat dlouho. Komprimací souborů zmenšíte velikost až na 25 MB a poté je všechny archivujete do jednoho souboru, což umožní mnohem rychlejší přenos souborů, než když jsou nekomprimované. Zip je nejpoužívanější nástroj pro archivaci a kompresi souborů, zatímco rozbalení se používá pro extrahování a dekomprimaci souborů se zipem.
V tomto článku se podíváme na příkazy zip a unzip v systému Linux spolu s možnostmi a příklady příkazového řádku.
Předpoklady
- Systém Ubuntu nebo Debian
- Nainstalované nástroje pro zip a rozbalení
Poznámka: Příkazy uvedené v tomto článku byly testovány na Ubuntu 20.04 LTS (Focal Fossa). Stejné příkazy platí také pro distribuci Debianu.
Instalace Zip a Unzip
Ve výchozím nastavení se balíčky zip a unzip instalují v systémech Ubuntu. V případě, že ve vašem systému chybí, můžete je snadno nainstalovat. Spusťte Terminál pomocí klávesnice Ctrl + Alt + T. Chcete-li nainstalovat zip, zadejte v Terminálu následující:
$ sudo apt nainstalovat zipChcete-li nainstalovat rozbalení, zadejte v Terminálu následující příkaz:
$ sudo apt install unzipExistuje několik scénářů, kde může být vyžadováno komprimování souborů:
- Chcete-li ušetřit úložný prostor, při zipování se komprimuje velikost souboru
- Přenos velkých souborů přes e-mail
- Nahrávání nebo stahování souborů rychlejší rychlostí
- Chcete-li ušetřit šířku pásma
Příkaz ZIP v systému Linux
Chcete-li vytvořit soubor ZIP, budete muset zadat název archivu ZIP a soubory, které je třeba do souboru ZIP zahrnout.
$ možnosti zip zip_file soubor1 soubor2 ..Zip jeden soubor
Chcete-li zazipovat jeden soubor s názvem testovací soubor.txt; do souboru zip s názvem test.zip, příkaz by byl:
$ test zipu.testovací soubor zip.txt
Výše uvedený příkaz komprimuje zadaný soubor v aktuálním adresáři, přičemž ponechá původní soubor.
Chcete-li potvrdit, zda byl soubor zip vytvořen, zadejte příkaz v terminálu níže:
$ ls -l
Zip více souborů
Pomocí příkazu zip můžete také zazipovat více souborů. Vytvořme několik pojmenovaných souborů testfile1.txt, testfile2.txt, testfile3.txt, a testfile4.txt pomocí následujícího příkazu v terminálu:
$ sudo touch testfile1.txt testfile2.txt testfile3.txt testfile4.txtNyní tyto soubory zazipujte do jednoho souboru s názvem soubory.zip, zadejte následující příkaz v terminálu:
$ zip soubory.testovací soubor zip1. zip testfile1.txt testfile2.txt testfile3.txt testfile4.txt
Zástupný znak můžete také použít k určení více souborů se stejnou příponou. Například pro zazipování všech souborů končících na .přípona txt v souboru zip s názvem files1.zip, zadejte do Terminálu následující příkaz:
$ zip soubory1.zip *.txt
Zip soubor do jiného adresáře
Pokud potřebujete soubor zazipovat do jiného adresáře, než je aktuální adresář, použijte následující syntaxi:
$ zip / cesta / do / adresáře.název souboru zip_fileNapříklad na zip testovací soubor.txt soubor do adresáře Documents / docs / adresáře pojmenovaného jako test.zip, příkaz by byl:
$ zip Dokumenty / dokumenty / test.testovací soubor zip.txt
Přidat soubor do existujícího zipu
Můžete také přidat soubor do již existujícího souboru zip. Použijte k tomu následující syntaxi:
$ zip -u název_souboru zip_souborŘekněme, že máte soubor zip (soubory1.zip) A chcete přidat ještě jeden soubor (testfile4.txt) V tomto případě by příkaz byl v tomto případě:
$ zip -u soubory1.zip testovací soubor4.txt
Odeberte soubor ze souboru ZIP
Podobně můžete také odebrat soubor z již existujícího souboru zip. Použijte k tomu následující syntaxi:
$ zip -d název_souboru zip_fileŘekněme, že máte soubor zip (soubory1.zip) A chcete odebrat soubor (testfile1.txt) Z toho by byl příkaz v tomto případě:
$ zip -d soubory1.testovací soubor zip1. zip testfile1.txt
Zipujte soubory v tichém režimu
Pokud nechcete zobrazit výstup příkazu zip, použijte volbu -q (tichý) s příkazem zip následujícím způsobem:
$ zip -q název_souboru zip_fileNapříklad při zipování testovacího souboru.txt, můžete potlačit výstup pomocí následujícího příkazu:
$ zip -q test.testovací soubor zip.txtNa následujícím snímku obrazovky vidíte výstup příkazu zip, který nebyl zobrazen na terminálu.
Mazání původních souborů po komprimaci
Ve výchozím nastavení zachovává zip původní soubor spolu s komprimovaným souborem. Pomocí -m Pomocí příkazu zip můžete původní soubory po vytvoření souboru ZIP smazat.
$ zip -m název_souboru_zip_souboruNapříklad následující příkaz odstraní testovací soubor.txt po vytvoření jeho souboru se zipem, test.zip.
$ zip -m test.testovací soubor zip.txt
Zip adresáře
Chcete-li komprimovat adresáře ve vašem systému Linux, použijte -r (rekurzivní) volba s příkazem zip. The -r tato možnost bude rekurzivně komprimovat adresáře, tj.E., včetně obsahu podadresářů.
$ zip -r zip_file název adresářeNapříklad pro zazipování Dokumenty adresář rekurzivně do test.zip soubor, příkaz by byl:
$ zip -r test.zip dokumenty /Tento příkaz komprimuje adresář Documents spolu se všemi podadresáři a soubory v něm obsaženými.
Nastavení úrovně komprese
Můžete také nastavit úroveň komprese, která se použije na soubory se zipem. Úroveň komprese se pohybuje od 0 do 9, kde 6 je výchozí hodnota, 0 je nejnižší hodnota a 9 je nejvyšší hodnota komprese.
Například pro zip všech textových souborů soubory1.zip pomocí nejvyšší hodnoty komprese by byl příkaz:
$ zip -9 souborů1.zip *.txt
Podobně do zipu všech textových souborů soubory2.zip pomocí nejnižší hodnoty komprese -0, příkaz by byl:
Následuje výstup souboru je příkaz po vytvoření souborů zip. Pokud porovnáme velikosti obou souborů zip, uvidíte soubory1.zip, který byl komprimován pomocí úrovně komprese 9, má ve srovnání se soubory2 menší velikost.zip, který byl komprimován pomocí úrovně komprese 0.
Vytvořte soubor zip chráněný heslem
Soubory zip chráněné heslem můžete také vytvořit pomocí -E s příkazem zip následujícím způsobem:
$ zip -e název souboru zip_fileNapříklad následující příkaz zazipuje všechny textové soubory soubory3.zip, poté požádejte o heslo. Nastavte libovolné heslo a stiskněte klávesu Enter. Poté toto heslo ověřte opětovným zadáním a stisknutím klávesy Enter.
$ zip -e soubory3.zip *.txt
Přidávání hesel do souborů zip pomocí zipcloak
V předchozím příkladu jsme vytvořili soubor zip chráněný heslem. Ale co když jste vytvořili soubor zip a zapomněli jste nastavit heslo. Pomocí příkazu zipcloak můžete kdykoli nastavit heslo k souboru zip.
$ zipcloak zip_fileNapříklad nastavit heslo k již vytvořenému souboru zip s názvem soubory.zip, příkaz by byl:
$ zipcloak soubory.zipBudete požádáni o heslo. Zadejte libovolné heslo a stiskněte Enter. Poté toto heslo ověřte opětovným zadáním a stisknutím Enter.
Zobrazit podrobnosti souboru pomocí příkazu zipdetails
Příkaz Zipdetails zobrazuje podrobné informace o souboru ZIP. Informace, které zobrazuje, se týkají spíše struktury záznamu než komprimovaných dat. Chcete-li najít podrobné informace o souboru ZIP, zadejte zipdetails následované názvem souboru ZIP, jak je uvedeno níže:
$ zipdetails zip_fileNapříklad k vyhledání podrobných informací o komprimovaném souboru, test.zip, příkaz by byl:
$ zipdetails test.zipVe výstupu uvidíte spoustu informací o souboru ZIP.
Hledejte uvnitř souboru pomocí příkazu zipgrep
Příkaz zipgrep nám umožňuje vyhledat daný text v souborech uvnitř souboru se zipem, aniž bychom jej extrahovali. Pokud je soubor zip chráněn heslem, musíte k němu nejprve zadat heslo. Chcete-li vyhledat text uvnitř souboru zip, použijte následující syntaxi:
$ zipgrep výraz zip_fileNapříklad pro vyhledávání, které soubory uvnitř souboru zip test.zip obsahuje slovo brána, příkaz by byl:
$ zipgrep test brány.zipVýstup je následující. Můžete vidět dva soubory iplist.text a iplist uvnitř test.zip obsahuje slovo brána.
Chcete-li vyhledat text z konkrétního souboru uvnitř souboru zip, můžete jej také přidat:
Například následující příkaz bude hledat slovo brána pouze z konkrétního souboru iplist uvnitř souboru zip test.zip:
$ test brány zipgrep.zip Dokument / dokumenty / iplist
Zobrazit informace pomocí příkazu zipinfo
Příkaz zipinfo v systému Linux uvádí seznam souborů obsažených v souboru zip spolu s jejich oprávněními, typem komprese, původní velikostí, datem a časovým razítkem. Chcete-li zobrazit informace o konkrétním souboru zip, zadejte zipinfo následovaný názvem souboru, jak je uvedeno níže:
$ zipinfo název souboruNásledující příkaz zobrazí informace o souboru zip soubory1.zip:
$ zipinfo soubory 1.zip
Rozdělte soubor pomocí příkazu zipsplit
Někdy je velikost souboru zip příliš velká, takže jej z důvodu omezení velikosti nemůžete nahrát nebo odeslat jako přílohu. Pomocí příkazu zipsplit můžete rozdělit soubory zip na menší soubory, které lze snáze přenášet. Chcete-li rozdělit soubor ZIP na menší soubory, jejichž velikost nepřesahuje
The
Například následující příkaz se rozdělí test.zip do menších souborů s velikostí ne delší než 104857600 bajtů (104 MB).
$ zipsplit -n 104857600 test.zipZde je výstup výše uvedeného příkazu. The test.zip soubor je rozdělen na tři soubory, které jsou postupně pojmenovány jako test1.zip, test2.zip, a test3.zip, resp.
Pokud spustíte je příkaz, uvidíte všechny tři rozdělené soubory zip spolu s původním souborem zip.
Přidejte nebo zobrazte komentáře v souboru zip pomocí zipnote
Pomocí příkazu zipnote můžete přidávat, zobrazovat a upravovat komentáře v souboru zip. Chcete-li zobrazit komentáře, použijte následující příkaz:
$ zipnote zip_fileNahradit zip soubor s vaším skutečným názvem zip souboru.
Pokud nejsou žádné komentáře, zobrazí se následující výchozí zobrazení:
Chcete-li přidat komentáře, nejprve budete muset přesměrovat výstup z zipnote do souboru komentářů. Použijte následující příkaz:
Například k přidání komentářů k soubory1.zip, příkaz by byl:
$ zipnote soubory 1.zip> komentářeNyní upravte komentáře soubor pomocí následujícího příkazu:
$ sudo nano komentářeU každého souboru přidejte své komentáře nad řádky, které říkají @ (komentář nad tímto řádkem),poté soubor uložte a ukončete. Do souboru komentářů jsme přidali dva komentáře, jak je vidět na obrázku níže.
Nyní napište poznámky do souboru zip pomocí následujícího příkazu:
V našem případě by to byl příkaz;
$ zipnote -w soubory1.zip < commentsNyní můžete ověřit, zda byly komentáře přidány, zadáním následujícího příkazu v Terminálu:
$ zipnote zip_file
Zobrazit nápovědu
Chcete-li zobrazit nápovědu týkající se příkazu zip, použijte následující příkaz:
$ zip - pomocManuální stránku obslužného programu zip můžete navštívit také pomocí následujícího příkazu:
$ man zipRozbalte příkaz v systému Linux
Pomocí příkazu unzip můžete snadno extrahovat obsah ze souboru zip. Chcete-li soubor rozbalit, použijte následující syntaxi:
$ unzip možnosti zip_fileRozbalte jednotlivé soubory zip
Chcete-li rozbalit jeden soubor zip, řekněme test.zip, příkaz by byl:
$ rozbalte test.zipRozbalí soubor v aktuálním adresáři.
Rozbalte soubor do jiného adresáře
Soubor můžete také rozbalit do jiného adresáře než do aktuálního adresáře pomocí volby -d následujícím způsobem:
$ rozbalte zip_soubor -d / cesta / do / adresářeChcete-li rozbalit soubor ZIP, test.zip na Dokumenty, adresář, příkaz by byl:
$ rozbalte test.zip -d dokumenty /
Rozbalte více souborů
Vezměte v úvahu, že v aktuálním adresáři je několik souborů zip, které chcete rozbalit. Všechny můžete rozbalit pomocí jediného příkazu takto:
$ unzip '*.zip 'Tento příkaz rozbalí všechny soubory zip umístěné ve vašem aktuálním adresáři.
Potlačit výstup při použití rozbalení
Podobně jako u příkazu zip můžete také skrýt výstup příkazu unzip pomocí -q možnost takto:
$ unzip -q zip_file
Vyloučení souborů pomocí rozbalení
Pokud chcete rozbalit zip soubor, ale nechcete extrahovat konkrétní soubor, použijte -X níže uvedená možnost:
$ unzip zip_file -x název_souboruNapříklad máme zip filetest.zip obsahující tři soubory. Následující příkaz rozbalí všechny soubory kromě jednoho zpráva.txt:
$ rozbalte test.zpráva zip -x.txt
Rozbalte soubory ZIP chráněné heslem
Chcete-li rozbalit soubor zip chráněný heslem bez zobrazení výzvy, použijte -P a poté heslo k souboru:
$ rozbalit -PNapříklad máme soubor zip, test.zip, který je chráněn heslem “cín“. Chcete-li tento soubor extrahovat, bude příkaz:
$ unzip -P test na cín.zip
Přepis souborů ZIP
Pokud rozbalujete soubor na místo, kde již existovaly extrahované soubory, budete vyzváni k: přepsat aktuální soubor, přeskočit rozbalení aktuálního souboru, přepsat všechny soubory, přeskočit rozbalení všech souborů nebo přejmenovat soubor.
Chcete-li přepsat všechny existující soubory bez zobrazení výzvy, použijte -Ó možnost takto:
Seznam obsahu zipu
Za použití -l Pomocí příkazu unzip můžete zobrazit obsah souboru zip bez jeho extrahování.
$ unzip -l zip_filePříklad:
$ rozbalte -l test.zipNásleduje výstup výše uvedeného příkazu, který uvádí seznam souborů obsažených v souboru zip test.zip, spolu s jejich názvy, původní velikostí souboru, datem a časovými razítky.
Zobrazit podrobné informace
Chcete-li zobrazit podrobné informace bez extrahování souboru zip, použijte volbu -v následujícím způsobem:
$ unzip -v zip_filePříklad:
$ unzip -v test.zipNásleduje výstup výše uvedeného příkazu, který uvádí seznam souborů obsažených v souboru test.zip, spolu s jejich názvy, původní velikostí souboru, komprimovanou velikostí, metodou komprese, kompresním poměrem, datem a časovými razítky.
Kontrola chyb v archivu
Pomocí volby -t v příkazu unzip můžete zkontrolovat, zda je soubor zip platný a neobsahuje žádné chyby.
$ unzip -t test1.zipPříklad:
$ unzip -t test1.zipVýše uvedený příkaz kontroluje chyby v souboru test1.zip soubor a zobrazí výsledky. Následující výstup ukazuje, že v komprimovaném souboru není žádná chyba.
Zobrazit nápovědu
Chcete-li zobrazit nápovědu k příkazu unzip, použijte následující příkaz:
$ unzip - pomocManuální stránku nástroje pro rozbalení můžete také navštívit pomocí následujícího příkazu:
$ man rozbalteZávěr
To je vše, co potřebujete vědět, abyste zvládli příkazy zip a unzip v systému Linux. V tomto článku jsme podrobně diskutovali použití příkazů zip a unzip v systému Linux spolu s různými možnostmi a příklady příkazového řádku.