Domovská » jak » Jak komprimovat a extrahovat soubory pomocí příkazu tar v Linuxu

    Jak komprimovat a extrahovat soubory pomocí příkazu tar v Linuxu

    Příkaz tar na Linuxu se často používá k vytváření archivních souborů .tar.gz nebo .tgz, také nazývaných "tarballs". Tento příkaz má velké množství možností, ale stačí si zapamatovat několik písmen, které rychle vytvoří archivy s tar . Příkaz tar může extrahovat také výsledné archivy.

    Příkaz GNU tar obsažený v distribucích Linux má integrovanou kompresi. Může vytvořit arch. .Tar a potom jej komprimovat pomocí komprese gzip nebo bzip2 v jediném příkazu. Proto výsledný soubor je soubor .tar.gz nebo soubor .tar.bz2.

    Komprimovat celý adresář nebo jednotný soubor

    Pomocí následujícího příkazu můžete komprimovat celý adresář nebo jediný soubor v systému Linux. Bude také komprimovat každý jiný adresář uvnitř zadaného adresáře - jinými slovy, funguje rekurzivně.

    tar -czvf název-archiv.tar.gz / path / to / adresář-nebo-soubor

    Zde je to, co tyto přepínače skutečně znamenají:

    • -C: Cobnovit archiv.
    • -z: Komprimujte archiv pomocí gzip.
    • -v: Zobrazení průběhu v terminálu při vytváření archivu, také známého jako "protierbose ". Hodnota v je vždy volitelná v těchto příkazech, ale je užitečná.
    • -f: Umožňuje zadat Filename archivu.

    Řekněme, že v aktuálním adresáři máte adresář s názvem "stuff" a chcete jej uložit do souboru s názvem archive.tar.gz. Byl byste spustit následující příkaz:

    tar -czvf archive.tar.gz věci

    Nebo řekněme, že v aktuálním systému je adresář v adresáři / usr / local / something a chcete jej komprimovat do souboru s názvem archive.tar.gz. Byl byste spustit následující příkaz:

    tar -czvf archive.tar.gz / usr / místní / něco

    Komprimovat více adresářů nebo souborů najednou

    Zatímco tar je často používán k kompresi jednoho adresáře, můžete jej také použít ke kompresi více adresářů, více samostatných souborů nebo obou. Jednoduše poskytněte seznam souborů nebo adresářů místo jednoho. Řekněme například, že chcete komprimovat adresář / home / ubuntu / Downloads, adresář / usr / local / stuff a soubor /home/ubuntu/Documents/notes.txt. Právě jste spustili následující příkaz:

    tar-czvf archive.tar.gz / home / ubuntu / Soubory ke stažení / usr / local / stuff /home/ubuntu/Documents/notes.txt

    Stačí si vybrat tolik adresářů nebo souborů, které chcete zálohovat.

    Vyloučit adresáře a soubory

    V některých případech možná budete chtít komprimovat celý adresář, ale nezahrnout určité soubory a adresáře. Můžete tak učinit připojením --vyloučit přepínač pro každý adresář nebo soubor, který chcete vyloučit.

    Řekněme například, že chcete kompresovat / home / ubuntu, ale nechcete komprimovat adresáře / home / ubuntu / Downloads a /home/ubuntu/.cache. Zde je návod, jak to udělat:

    tar -czvf archive.tar.gz / home / ubuntu --exclude = / home / ubuntu / Ke stažení --exclude = / home / ubuntu / .cache

    The --vyloučit přepínač je velmi výkonný. Nezahrnuje jména adresářů a souborů - ve skutečnosti přijímá vzory. Je s tím mnohem víc. Můžete například 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žijte 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 umožňuje vytvářet komprimované soubory bzip2, často nazvané soubory .tar.bz2, .tar.bz nebo .tbz. Chcete-li tak učinit, stačí nahradit -z pro gzip v příkazu zde s -j pro bzip2.

    Gzip je rychlejší, ale obecně se komprimuje o něco méně, takže získáte poněkud větší soubor. Bzip2 je pomalejší, ale komprimuje trochu víc, takže získáte poněkud menší soubor. Gzip je také častější, s některými zbavenými Linuxovými systémy, včetně podpory gzip ve výchozím nastavení, ale není podpora bzip2. Obecně platí, že gzip a bzip2 jsou prakticky stejné a obě budou fungovat podobně.

    Například namísto prvního příkladu, který jsme poskytli pro kompresi adresáře s položkami, byste spustili následující příkaz:

    tar-cjvf archive.tar.bz2 věci

    Extrahujte archiv

    Jakmile máte archiv, můžete jej extrahovat příkazem 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 příkaz pro vytvoření archivu, který jsme použili výše, s výjimkou příkazu pro vytvoření archivu -X přepínač nahradí -C přepínač. To určuje, že chcete eXvytvořit archiv namísto jeho vytvoření.

    Možná budete chtít obsah archivu extrahovat do určitého adresáře. Můžete tak učinit připojením -C přepněte 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 je soubor komprimovaný soubor bzip2, nahraďte "z" ve výše uvedených příkazech písmenem "j".


    Toto je nejjednodušší možné použití příkazu tar. Příkaz obsahuje velký počet dalších možností, takže je nemůžeme všechny zde uvést. Pro více informací. spusťte info tar příkazu na shellu pro zobrazení podrobné informace stránky tar. zmáčkni q k ukončení stránky s informacemi po dokončení. Můžete si také přečíst ruční online příručku.

    Pokud používáte grafickou plochu Linuxu, můžete také použít nástroj pro kompresi souborů nebo správce souborů, který je součástí vaší pracovní plochy, a vytvářet nebo extrahovat soubory .tar. V systému Windows můžete extrahovat a vytvářet archivy .tar pomocí bezplatného nástroje 7-Zip.