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.
Reklama

Ř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.

Reklama

Ř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.

Reklama

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í.

Reklama

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
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 „

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *