Úvodná » ako » Ako komprimovať a extrahovať súbory pomocou príkazu tar v systéme Linux

    Ako komprimovať a extrahovať súbory pomocou príkazu tar v systéme Linux

    Príkaz tar na Linuxe sa často používa na vytvorenie archívnych súborov .tar.gz alebo .tgz, tiež nazývaných "tarballs". Tento príkaz má veľa možností, ale stačí si spomenúť niekoľko písmen, ktoré rýchlo vytvoria archívy s tar , Príkaz tar môže extrahovať aj výsledné archívy.

    Príkaz GNU tar obsiahnutý v distribuciách Linux má integrovanú kompresiu. Môže vytvoriť archív .tar a potom ho komprimovať pomocou kompresie gzip alebo bzip2 v jedinom príkaze. Preto výsledný súbor je súbor .tar.gz alebo súbor .tar.bz2.

    Komprimovať celý adresár alebo jediný súbor

    Použite nasledujúci príkaz na kompresiu celého adresára alebo jedného súboru v systéme Linux. Taktiež komprimuje každý iný adresár v adresári, ktorý zadáte - inými slovami, funguje rekurzívne.

    tar -czvf názov -archive.tar.gz / path / to / directory-or-file

    Tu sú tieto prepínače skutočne znamenajú:

    • -c: Cobnoviť archív.
    • -z: Komprimujte archív pomocou gzip.
    • -v: Zobrazenie pokroku v termináli pri vytváraní archívu, známeho aj ako "protierbózny "režim. Hodnota v je vždy voliteľná v týchto príkazoch, ale je to užitočné.
    • -f: Umožňuje určiť Filename archívu.

    Povedzme, že máte v adresári názov "veci" v aktuálnom adresári a chcete ho uložiť do súboru s názvom archive.tar.gz. Spustili by ste nasledujúci príkaz:

    tar -czvf archive.tar.gz veci

    Alebo povedzme, že v súčasnom systéme je adresár na / usr / local / something a chcete ho komprimovať do súboru s názvom archive.tar.gz. Spustili by ste nasledujúci príkaz:

    tar -czvf archive.tar.gz / usr / local / niečo

    Komprimovať viacero adresárov alebo súborov naraz

    Zatiaľ čo tar sa často používa na kompresiu jedného adresára, môžete ho použiť aj na kompresiu viacerých adresárov, viacerých jednotlivých súborov alebo oboch. Stačí poskytnúť zoznam súborov alebo adresárov namiesto jedného. Povedzme napríklad, že chcete komprimovať adresár / home / ubuntu / Downloads, adresár / usr / local / stuff a súbor /home/ubuntu/Documents/notes.txt. Práve ste spustili nasledujúci príkaz:

    tar-czvf archive.tar.gz / home / ubuntu / Na stiahnutie / usr / local / stuff /home/ubuntu/Documents/notes.txt

    Len zoznam toľko adresárov alebo súborov, ktoré chcete zálohovať.

    Vylúčiť adresáre a súbory

    V niektorých prípadoch možno budete chcieť komprimovať celý adresár, ale nezahrnúť určité súbory a adresáre. Môžete tak urobiť pripojením --vylúčiť prepínať pre každý adresár alebo súbor, ktorý chcete vylúčiť.

    Povedzme napríklad, že chcete kompresovať / home / ubuntu, ale nechcete komprimovať adresáre / home / ubuntu / Downloads a /home/ubuntu/.cache. Tu je postup, ako to urobíte:

    tar -czvf archive.tar.gz / home / ubuntu --exclude = / home / ubuntu / Súbory na stiahnutie --exclude = / home / ubuntu / .cache

    --vylúčiť prepínač je veľmi výkonný. Nezahŕňa názvy adresárov a súborov - v skutočnosti prijíma vzorky. S tým môžete urobiť oveľa viac. Môžete napríklad archivovať celý adresár a vylúčiť všetky súbory .mp4 pomocou nasledujúceho príkazu:

    tar -czvf archive.tar.gz / home / ubuntu --exclude = * .mp4

    Použite kompresiu bzip2

    Zatiaľ čo kompresia gzip sa najčastejšie používa na vytvorenie súborov .tar.gz alebo .tgz, tar tiež podporuje kompresiu bzip2. To vám umožňuje vytvárať súbory komprimované bzip2, často nazývané súbory .tar.bz2, .tar.bz alebo .tbz. Ak to chcete urobiť, jednoducho nahraďte príkaz -z pre príkazy gz v príkazoch s -j pre bzip2.

    Gzip je rýchlejší, ale zvyčajne sa komprimuje o niečo menej, takže získate o niečo väčší súbor. Bzip2 je pomalší, ale komprimuje trochu viac, takže dostanete o niečo menší súbor. Gzip je tiež bežnejší, s niektorými odizolovanými systémami Linuxu vrátane podpory gzip ako predvolené, ale nie s podporou bzip2. Všeobecne platí, že gzip a bzip2 sú prakticky rovnaké a obe budú pracovať podobne.

    Napríklad namiesto prvého príkladu, ktorý sme použili na kompresiu adresára s vecami, by ste spustili nasledujúci príkaz:

    tar-cjvf archive.tar.bz2 veci

    Extrahujte archív

    Keď máte archív, môžete ho extrahovať príkazom tar. Nasledujúci príkaz vyberie obsah súboru archive.tar.gz do aktuálneho adresára.

    tar -xzvf archive.tar.gz

    Je to rovnaké ako príkaz na vytvorenie archívu, ktorý sme použili vyššie, s výnimkou príkazu -X prepínač nahradí -C switch. Toto určuje, že chcete eXnamiesto vytvorenia archívu.

    Možno budete chcieť extrahovať obsah archívu do konkrétneho adresára. Môžete to urobiť pripojením -C prepnite na koniec príkazu. Napríklad nasledujúci príkaz vytiahne obsah súboru archive.tar.gz do adresára / tmp.

    tar -xzvf archive.tar.gz -C / tmp

    Ak je súbor komprimovaný súborom bzip2, nahraďte v príkazoch "z" znak "j".


    Toto je najjednoduchšie možné využitie príkazu tar. Príkaz obsahuje veľký počet ďalších možností, takže ich tu nemôžeme vymenovať. Pre viac informácií. spustiť info tar príkaz na shell zobrazíte podrobnú stránku s informáciami o tar príkazu. Stlačte tlačidlo q , ak chcete ukončiť stránku s informáciami po dokončení. Môžete tiež prečítať návod na používanie tar online.

    Ak používate grafickú pracovnú plochu Linuxu, môžete použiť nástroj na kompresiu súborov alebo správcu súborov, ktorý je súčasťou vašej pracovnej plochy, a vytvoriť alebo extrahovať súbory .tar. Na systéme Windows môžete extrahovať a vytvárať archívy .tar pomocou bezplatného 7-Zip utility.