GNU/Linux >> Znalost Linux >  >> Linux

Naučte se, jak komprimovat a rozbalit soubory v Linuxu a stát se Zip Masterem

Přemýšleli jste někdy o tom, jak rozbalit soubory v Linuxu? Nebo jak vytvořit a rozbalit zip archiv? Pak je tento návod vše, co potřebujete k efektivní správě souborů zip.

Zipování je jednou z nejlepších a nejoblíbenějších technik pro kompresi souborů zmenšením jejich velikosti bez ztráty kvality. A v tomto tutoriálu se dozvíte, jak komprimovat a dekomprimovat soubory zip v Linuxu, spolu s dalšími tipy a triky. Jste připraveni?

Ponořte se do toho a na konci tohoto návodu se stanete „mistrem zipu“!

Předpoklady

Pokud jste IT profesionál, který se potýká s příliš mnoha požadavky na resetování hesla ve službě Active Directory, vyzkoušejte Specops uReset, bezpečné řešení SSPR.

Ukázky v tomto tutoriálu byly provedeny v Kali Linuxu 2021.2. Přesto můžete také pracovat s jinými distribucemi Linuxu, jako jsou distribuce založené na Debianu (jako Unbuntu nebo Kali Linux), CentOS nebo Fedora.

Instalace balíčků Zip a rozbalení

Chcete-li komprimovat a dekomprimovat soubory ZIP s Linuxem, budete potřebovat několik balíčků nazvaných zip a rozbalit. Pojďme si nyní projít, jak tyto balíčky nainstalovat pomocí správce balíčků apt.

Chcete-li nainstalovat balíčky zip a rozbalit, spusťte nejprve terminál na ploše a spusťte níže uvedené příkazy v závislosti na distribucích Linuxu, na kterých pracujete.

Každý z níže uvedených příkazů začíná sudo příkaz pro zpracování zvýšených oprávnění.

Pro Debian

Níže uvedené příkazy používají apt správce balíčků na install zip a unzip balíčky.

sudo apt install zip   # Installs the zip package
sudo apt install unzip # Installs the unzip package

Pro Fedora a CentOS

Níže uvedené příkazy používají yum nástroj pro správu balíků na install zip a unzip balíčky.

sudo yum install zip   # Installs the zip package
sudo yum install unzip # Installs the unzip package

Komprimace souborů pomocí balíčku Zip

Nyní, když jste nainstalovali všechny potřebné balíčky, je čas naučit se komprimovat soubory. Chcete-li tak učinit, spustíte zip příkaz, který umožňuje komprimovat soubory do balíčků ZIP, a to jak přes příkazový řádek, tak přes GUI. Pojďme si projít každou metodu!

Zkomprimování souborů pomocí příkazového řádku

V Linuxu budete obvykle hodně používat příkazový řádek, takže se nejprve podívejme, jak komprimovat soubory pomocí příkazového řádku.

Všimněte si syntaxe příkazu níže. To uvidíte za zip příkaz, outpufile představuje název souboru zip. Poté následuje název souborů a složky (file1 file2 folder ) zahrnout do souboru zip.

zip [option] outputfile file1 file2 folder

Chcete-li předvést komprimování souborů na příkazovém řádku, otevřete nejprve terminál a vytvořte adresář s názvem ~/mydir . Poté vytvořte dva soubory a složku s názvem test1, test2 a myfolder uvnitř ~/mydir .

1. Spusťte mkdir příkaz níže k vytvoření mydir adresář.

mkdir mydir

2. Níže uvedené příkazy vytvoří (touch ) test1.txt a test2.txt soubory. Poté vytvořte (mkdir ) myfolder adresář.

touch ~/mydir/test1.txt
touch ~/mydir/test2.txt
mkdir myfolder

3. Spusťte níže uvedený příkaz pro výpis (ls ) obsah pracovního adresáře (~/mydir ), jak je uvedeno níže.

Nyní, když jste vytvořili soubory a složky, komprimujte ~/mydir složku spuštěním příkazu níže.

zip níže uvedený příkaz je rekurzivně (-r ) prohledávání mydir adresář pro všechny soubory a podadresáře. Po dokončení zkomprimuje všechny tyto soubory do souboru ZIP s názvem newdir.zip .

zip -r newdir.zip mydir

Možná plánujete komprimovat pouze soubory ~/mydir/test1.txt, ~/mydir/test2.txt a ~/mydir/myfolder adresáře. Chcete-li to provést, spusťte níže uvedený příkaz.

zip níže uvedený příkaz je rekurzivně (-r ) hledání všech souborů a složek v pracovním adresáři (mydir ) s názvem test1.txt , test2.txt a myfolder a vytvoření souboru ZIP s názvem newfiles.zip .

cd mydir
zip -r newfiles test1.txt test2.txt myfolder

Přidání přípony .zip pro soubor zip je volitelné, protože se automaticky přidá po dokončení komprese. Ve výše uvedeném příkladu vytvoří příkaz zip soubor ZIP s názvem newfiles.zip namísto pouze nových souborů.

Smazání původního souboru po archivaci

V předchozí části jste se naučili, jak komprimovat soubory do souboru ZIP, ale všimli jste si, že původní soubory poté nebyly odstraněny. Přidejte -m možnost v příkazu zip odstranit původní soubory, jak je znázorněno níže.

Po vytvoření souboru ZIP spusťte terminál a poté spusťte následující příkaz pro automatické odstranění původních souborů. zip příkaz níže zazipuje soubory a složku s názvem test1.txt , test2.txt a myfolder na newsfiles.zip ZIP a poté smaže (-m ) původní soubory.

Po spuštění příkazu si všimnete, že příkaz zip odstraní původní soubory.

zip -m -r newfiles.zip test1.txt test2.txt myfolder

Přidání nových souborů do existujícího souboru ZIP

Možná jste zapomněli zahrnout soubor při komprimaci souborů do souboru ZIP. Jak byste přidali nový soubor do existujícího souboru zip? Můžete odstranit soubor zip a vytvořit jiný, ale existuje lepší způsob.

Chcete-li ke stávajícímu souboru ZIP přidat nový soubor (newfiles.zip ), spusťte následující příkaz. Níže uvedený příkaz se aktualizuje (-u ) stávající balíček souboru ZIP (newfiles.zip ) rekurzivně (-r ) prohledávání všech souborů v ~/mydir a poté je přidejte do balíčku ZIP.

zip -u -r newfiles.zip test3

Odstranění souborů ze souboru ZIP

Dříve jste se naučili přidávat soubory do existujících komprimovaných souborů. Ale co když jste do souboru zip přidali soubor neúmyslně? Zjevně budete chtít tento soubor odstranit ze souboru zip a přidat -d možnost zip příkaz by udělal trik.

Chcete-li odstranit soubor ze souboru ZIP, spusťte zip smazání příkazu (-d ) test3 soubor z (newfiles.zip ) Soubor ZIP.

zip -d newfiles.zip test3

Zkomprimování souborů přes GUI

Nyní jste se naučili komprimovat soubory pomocí příkazového řádku. Ale pokud vám vyhovuje více pracovat s grafickým rozhraním, máte štěstí. Prostředí GNU Network Object Model Environment (GNOME) vám umožňuje vytvořit archiv zip pomocí několika kliknutí. GNOME je desktopové GUI nad operačním systémem. Takže, pojďme začít!

1. Přepněte do prostředí GNOME a otevřete správce souborů.

2. Vyhledejte soubory ke komprimování pomocí navigace uvnitř ~/mydir adresář.

3. Chcete-li vytvořit balíček ZIP, vyberte všechny soubory, které chcete komprimovat, poté klikněte pravým tlačítkem na kterýkoli ze souborů a vyberte možnost Komprimovat z kontextové nabídky.

Nyní vyberte formát pro komprimovaný soubor ve vyskakovacím okně níže. Všimněte si, že existují tři možnosti formátu, .zip, .tar.xz a .7z. Všechny tyto formáty jsou kompresní formáty.

Protože vytváříte soubor zip, vyberte soubor .zip volba. Poté vytvořte soubor zip zadáním názvu (newfiles ) a klikněte na Vytvořit .

Soubor zip se automaticky vytvoří ve složce ~/mydir, kde jsou umístěny soubory, které komprimujete.

Níže si všimnete, že Linux vytváří soubor s názvem newfiles.zip z těch, které jste vybrali.

Dekomprimace souborů pomocí balíčku Unzip

V předchozích příkladech jste se naučili, jak komprimovat soubory. Možná však budete muset extrahovat nebo dekomprimovat obsah souboru zip. Jak byste to udělali?

Podobně jako u komprimace souborů získáte dva způsoby dekomprimace souborů, a to prostřednictvím příkazového řádku a GUI. Obě metody využívají k dekomprimaci souborů ZIP dříve nainstalovaný rozbalovací balíček.

Rozbalení souborů pomocí příkazového řádku

Protože v tomto tutoriálu budete stále spouštět příkazy v prostředí příkazového řádku, začněme rozbalovat soubory pomocí metody příkazového řádku.

Chcete-li rozbalit soubor ZIP, spusťte terminál a spusťte následující příkaz. Všimněte si, že níže uvedený příkaz bude unzip obsah souboru (newdir.zip ) ZIP soubor. Ve výchozím nastavení je obsah extrahován do stejného adresáře (~/mydir ) z (newdir.zip ) ZIP.

Pokud chcete rozbalit obsah souboru ZIP v jiném než pracovním adresáři, zadejte -d následovaný adresářem pro extrahování obsahu souboru ZIP do tvaru:unzip newdir.zip -d jiný adresář.

unzip newdir.zip

Rozbalení souborů přes GUI

Pokud se vám rozbalení souborů pomocí příkazového řádku zdá jako hodně práce, zkuste soubory rozbalit několika kliknutími pomocí metody GUI. A podobně jako u metody příkazového řádku byste si také mohli vybrat, kam chcete soubory extrahovat.

Chcete-li rozbalit soubory, otevřete Správce souborů, jak je vysvětleno v Zipování souborů přes GUI sekce. Klikněte pravým tlačítkem na balíček ZIP, který chcete rozbalit, a vyberte možnost Extrahovat zde , jak je uvedeno níže.

Jakmile kliknete na Extrahovat zde , Linux rozbalí všechny soubory v balíčku ZIP v pracovním adresáři.

Pokud dáváte přednost extrahování všech souborů v jiném adresáři, zvolte možnost Rozbalit do možnost z kontextové nabídky.

Ověření integrity souboru ZIP

V některých případech se mohou soubory ZIP poškodit, například při stažení souboru ZIP z internetu. Nebo když byl soubor ZIP přenesen na poškozené úložné zařízení. Možná nevíte, že jsou poškozeny na povrchu, takže je důležité ověřit jejich integritu.

Chcete-li ověřit integritu souboru zip, spusťte následující příkaz. zip příkaz níže rekurzivně (-r ) hledá v pracovním adresáři (newfiles.zip ) zip a poté ověří (-T ), pokud je v dobrém stavu.

Níže uvedený příkaz pouze ověří integritu souboru ZIP, nikoli však soubory a podadresáře v něm.

zip -r -T newfiles

Jak je uvedeno níže, uvidíte indikaci, že test byl úspěšný.

Testování komprimovaných souborů před extrahováním

Extrahování souboru ZIP s poškozenými soubory by pouze ztrácelo čas a vedlo by k chybám, zejména při práci s velkým souborem zip s více soubory. Je tedy dobré otestovat komprimované soubory v souboru ZIP, než je rozbalíte.

Testování komprimovaných souborů je podobné ověřování integrity souboru ZIP, ale tentokrát testujete každý soubor uvnitř souboru ZIP, nikoli pouze samotný soubor ZIP.

Nyní spusťte unzip příkaz k testování (-t ) stav každého souboru uvnitř (newdir.zip ) soubor zip.

unzip -t newdir.zip

Jak vidíte na obrázku níže, rozbalený balíček nenalezl žádné chyby.

Zobrazení obsahu souboru ZIP bez rozbalení

Možná byste raději viděli, co je uvnitř souboru ZIP, než skutečně extrahovat soubory. Naštěstí pro vás, unzip příkaz má -l možnost, která zobrazí obsah souboru zip bez jeho extrahování.

Chcete-li zobrazit obsah souboru ZIP, spusťte unzip příkaz k seznamu (-l ) soubor zip (newdir.zip ) obsah bez jejich extrahování.

unzip -l newdir.zip

Všimněte si níže uvedeného snímku obrazovky, který zobrazuje tabulkový seznam obsahu uvnitř (newdir.zip ) Soubor ZIP.

Zkomprimování souborů se stejnou příponou souboru

Chcete-li předvést, jak skriptovat některé běžné případy použití pomocí nástroje zip, možná máte adresář s mnoha různými soubory, ale potřebujete komprimovat pouze ty, které odpovídají konkrétní příponě. K tomu potřebujete skript, který bude opakovaně vyhledávat všechny soubory se stejnou příponou. Po nalezení je přidá do souboru zip.

Pojďme si projít, co skript níže dělá a jak jej spustit.

Skript níže deklaruje proměnnou (files ) pro uložení hodnoty přípony souboru (*.txt ), pak další proměnná (targetDir ) pro cílový adresář (anotherDir ).

Skript poté provede for smyčka pro prohledání všech souborů pomocí .txt (files ) rozšíření v cílovém adresáři (anotherDir ). Když je .txt nalezen, zip příkaz přidá (-u ), tento soubor do (mynewfiles.zip ) Soubor ZIP. Jste připraveni automatizovat komprimování souborů?

1. Otevřete textový editor a uložte skript pomocí .sh rozšíření (např. script.sh ), což je přípona pro soubory napsané pomocí programovacího jazyka shell.

files=*.txt # Declare variable to hold the .txt extension
 targetDir=anotherDir # Declare variable to hold the target directory
 for file in $files; do # Searches all files with .txt extension
     zip -u $targetDir/mynewfiles $file # Adds found .txt files to mynewfiles.zip file
 done

2. Ujistěte se, že můžete skript spustit úpravou jeho oprávnění. Chcete-li to provést, spusťte chmod příkaz k úpravě (+x ) skriptu (script.sh ) provést povolení.

chmod +x script.sh

3. Nyní spusťte skript spuštěním příkazu níže. Níže uvedený příkaz spustí skript (script.sh ), pokud je skript v aktuálním pracovním adresáři.

./script.sh

Jak si všimnete, zobrazí se varovné hlášení, že soubor ~/mynewfiles.zip neexistuje. Ale nebojte se, protože skript automaticky vytvoří soubor zip.

Závěr

Pokud jste IT profesionál, který se potýká s příliš mnoha požadavky na resetování hesla ve službě Active Directory, vyzkoušejte Specops uReset, bezpečné řešení SSPR.

V tomto tutoriálu jste se naučili spravovat soubory zip (komprimovat a dekomprimovat) a cvičný příklad, jak automatizovat proces komprimování souborů. Jak jsme slíbili, nyní jste „mistr zipu“!

Nyní byste se při příštím komprimování obrátili buď na manuální, nebo automatizované procesy?


Linux
  1. Jak používat Unzip v Linuxu

  2. Jak komprimovat soubory a adresáře v systému Linux (s příklady)

  3. Jak zip/rozbalit soubory/složky na Centos?

  1. Jak rozbalit soubory v Linuxu (s příklady)

  2. Jak archivovat soubory a adresáře v Linuxu [část 2]

  3. Jak nainstalovat balíček zip/unzip v Linux CentOS/RHEL 7 a 8

  1. Jak archivovat a komprimovat soubory na Linuxu

  2. Jak komprimovat více souborů v systému Linux

  3. Práce se soubory ZIP v Linuxu