Jak komprimovat a extrahovat soubory pomocí příkazu tar v systému Linux
- Chris Hoffman
@chrisbhoffman
- 10. dubna 2016 , 6:40 EDT
Příkaz tar v systému Linux se často používá k vytváření archivních souborů .tar.gz nebo .tgz, nazývaných také „tarballs“. Tento příkaz má velké množství možností, ale abyste si rychle vytvořili archivy pomocí tar, musíte si zapamatovat několik písmen. Příkaz tar může také extrahovat výsledné archivy.
Příkaz GNU tar obsažený v systému Linux distribuce má integrovanou kompresi. Může vytvořit archiv .tar a poté jej komprimovat pomocí komprese gzip nebo bzip2 v jediném příkazu. Proto je výsledný soubor soubor .tar.gz nebo .tar.bz2.
Komprimovat celý adresář nebo jeden soubor
Pomocí následujícího příkazu zkomprimujete celý adresář nebo jeden soubor v systému Linux. Komprimuje také všechny ostatní adresáře v adresáři, který určíte – jinými slovy , funguje to rekurzivně.
tar -czvf name-of-archive.tar.gz /path/to/directory-or-file
Co tyto přepínače ve skutečnosti znamenají:
- -c: Vytvořit archiv.
- -z: Komprimovat archiv pomocí gzip.
- -v: Zobrazit postup v terminálu při vytváření archivu, známém také jako režim „verbose“. V je v těchto příkazech vždy volitelné, ale je užitečné.
- -f: Umožňuje určit název archivu.
Řekněme, že máte v aktuálním adresáři adresář s názvem „stuff“ a chcete jej uložit do souboru s názvem archive.tar.gz. Spustili byste následující příkaz:
tar -czvf archive.tar.gz stuff
Nebo řekněme, že v aktuálním systému existuje adresář na / usr / local / something a chcete jej zkomprimovat do souboru s názvem archive.tar.gz. Spustili byste následující příkaz :
tar -czvf archive.tar.gz /usr/local/something
Komprimovat více adresářů nebo souborů najednou
SOUVISEJÍCÍ: Jak spravovat soubory z terminálu Linux: 11 příkazů, které potřebujete Know
Zatímco tar se často používá ke kompresi jednoho adresáře, můžete jej použít také ke kompresi více adresářů, více jednotlivých souborů nebo obou. Stačí namísto jediného zadat seznam souborů nebo adresářů. Řekněme například, že chcete komprimovat / home / ubuntu / Do adresář wnloads, adresář / usr / local / stuff a soubor /home/ubuntu/Documents/notes.txt. Spustili byste pouze následující příkaz:
tar -czvf archive.tar.gz /home/ubuntu/Downloads /usr/local/stuff /home/ubuntu/Documents/notes.txt
Vyjmenujte tolik adresářů nebo souborů, kolik chcete zálohovat.
Vyloučit Adresáře a soubory
V některých případech můžete zkomprimovat celý adresář, ale nezahrnovat určité soubory a adresáře. Můžete tak učinit připojením --exclude
přepínače pro každý adresář nebo soubor, který chcete vyloučit.
Řekněme například chcete komprimovat / home / ubuntu, ale nechcete komprimovat adresáře / home / ubuntu / Downloads a /home/ubuntu/.cache. Takto to uděláte:
tar -czvf archive.tar.gz /home/ubuntu --exclude=/home/ubuntu/Downloads --exclude=/home/ubuntu/.cache
Přepínač --exclude
je velmi výkonný. Neberou se názvy adresářů a souborů – ve skutečnosti přijímá vzory. Můžete s tím udělat mnohem více. Například můžete archivovat celý adresář a vyloučit všechny soubory .mp4 pomocí následujícího příkazu:
tar -czvf archive.tar.gz /home/ubuntu --exclude=*.mp4
Použít místo toho kompresi bzip2
Zatímco komprese gzip se nejčastěji používá k vytváření souborů .tar.gz nebo .tgz, tar podporuje také kompresi bzip2. To vám umožní vytvářet soubory komprimované pomocí bzip2, často pojmenované .tar.bz2, .tar.bz nebo .tbz. Chcete-li tak učinit, jednoduše v příkazech zde nahraďte -z pro gzip za -j pro bzip2.
Gzip je rychlejší, ale obecně komprimuje o něco méně, takže dostanete poněkud větší soubor. Bzip2 je pomalejší, ale komprimuje se o něco více, takže získáte poněkud menší soubor. Gzip je také běžnější, s některými ořezanými systémy Linux, včetně podpory gzip ve výchozím nastavení, ale ne s podporou bzip2. Obecně však platí, že gzip a bzip2 jsou prakticky to samé a oba budou fungovat podobně.
Například namísto prvního příkladu, který jsme poskytli pro kompresi adresáře, spustíte následující příkaz:
tar -cjvf archive.tar.bz2 stuff
Extrahovat archiv
Jakmile máte archiv, můžete jej extrahovat pomocí příkazu tar. Následující příkaz extrahuje obsah archive.tar.gz do aktuálního adresáře.
tar -xzvf archive.tar.gz
Je to stejné jako výše uvedený příkaz pro vytvoření archivu, kromě přepínač -x
nahrazuje přepínač -c
. Tím je specifikováno, že chcete archiv extrahovat místo jeho vytvoření.
Možná budete chtít extrahovat obsah archivu do konkrétního adresáře. Můžete tak učinit připojením přepínače -C
na konec příkazu. Například následující příkaz extrahuje obsah souboru archive.tar.gz do adresáře / tmp.
tar -xzvf archive.tar.gz -C /tmp
Pokud se jedná o soubor komprimovaný pomocí bzip2, nahraďte písmeno „z“ ve výše uvedených příkazech znakem „j“.
Toto je nejjednodušší možné použití příkazu tar. Příkaz obsahuje velké množství dalších možností, takže zde nemůžeme uvést všechny. Pro více informací. spuštěním příkazu info tar na shellu zobrazíte stránku s podrobnými informacemi příkazu tar. Až budete hotovi, stiskněte klávesu q pro opuštění informační stránky. Manuál tar si můžete přečíst také online.
Pokud používáte grafickou plochu systému Linux, můžete k vytvoření nebo rozbalení souborů .tar použít také nástroj pro kompresi souborů nebo správce souborů, který je součástí vašeho počítače. Ve Windows můžete extrahovat a vytvářet archivy .tar pomocí bezplatného nástroje 7-Zip.
Chris Hoffman je šéfredaktorem How-To Geek. Psal o technologii téměř deset let a dva roky pracoval jako publicista v PCWorld. Chris psal pro The New York Times, byl dotazován jako technologický expert na televizní stanice jako Miami v NBC 6 a jeho práce byla pokryta zpravodajské stanice jako BBC. Od roku 2011 Chris napsal více než 2 000 článků, které byly přečteny více než 500 milionůkrát – a to je právě tady na How-To Geek.Read Full Bio „