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?