tar

tar(1) je GNU páskový archívny program. Vezme niekoľko súborov, alebo adresárov a vytvorí jeden veľký súbor. To vám umožňuje skompresovať celý adresárový strom, čo nie je možné použitím len gzip alebo bzip2. tar má mnohé prepínača, ktoré sú vysvetlené v jeho manuálovej stránke. Táto sekcia sa bude zaoberať len najčastejšími prípadmi použitia tar-u.

Najbežnejšie použitie pre tar je dekomprimovanie a rozbaleine balíka, ktorý ste stiahli z web-ového, alebo ftp server. Väčšina takých súborov má príponu .tar.gz. To je všeobecne znám pod menom “tarball”. Znamená to, že niekoľko súborov bolo zaarchivovaných pomocou tar a potom kompresovaných pomocou gzip. Môžete s stretnúť aj so súborom .tar.Z. Znamená to to isté, ale zvyčajne starších Unix-ových systémoch.

No a niekedy sa môžete stretnúť so súborom .tar.bz2. Zdrojový kód jadra je distribuovaný takýmto spôsobom, pretože je to menej sťahovania. Ako isto uhádnete, je to niekoľko súborov archivovaných pomocou tar a potom bzip-ovaných.

Môžete sa dostať ku všetkým súborom archívu použitím tar- a niekoľkých prepínačov na príkazovom riadku. Odarchivovanie tarball-u využíva prepínač -z, ktorý znamená, že súbor má najprv prejsť cez gunzip a dekomprimovať ho. Najčastejší spôsob na dekomprimovanie tarball-u je takýto:

   $ tar -xvzf hejaz.tar.gz

To je už hromádka prepínačov. Čo všetky znamenajú? -x znamená extrahuj. To je dôležité, pretože to hovorí tar-u čo presne má urobiť zo vstupným súborom. V tomto prípade ho rozdelíme späť na súbory, z ktorých vzišiel. -v znamená verbose (ukecaný). To vypíše zoznam všetkých súborov tak ako sú rozbaľované. Je celkom v poriadku, ak tento prepínač vynecháte ak vás nudí. Na druhej strane môžete použiť -vvaby bol veľmi ukecaný a vypísal ešte viac informácií o každom súbory, ktorý rozbaľuje. Prepínač -z hovorí tar-u aby hejaz.tar.gz prehnal najprv cez gunzip. A nakoniec prepínač -f hovorí tar-u, že nasledujúci reťazec na príkazovom riadku je súbor, s ktorým má pracovať.

Existuje niekoľko iných spôsobova ako napísať ten istý príkaz. Na starších systémoch, ktorým chýba poriadna kópia GNU tar, ho môžete vidieť napísaný takto:

   $  gzip -dc hejaz.tar.gz | tar -xvf -

Takýto príkazový riadko rozzipuje súbor a výstup pošle do tar. Pretože gzip píše svoj výstup na štandardný výstup ak mu to poviete, tento príkaz zapíše dekomprimovaný súbor na štandardný výstup. Rúra ho potom pošle do tar na rozarchivovanie. “-” znamená, že má spracovávať štandardný vstup. To rozarchivuje prúd dát, ktoré dostáva zo gzip a výsledok zapíše na disk.

Iný spôsob ako zapísač prvý príkazový riadok, je vynechať pomlčku pred prepínačmi takto:

   $ tar xvzf hejaz.tar.gz

Môžete sa tiež stretnúť so bzip-ovaným archívom. Verzia tar-u, ktorá je priložená v Slackware Linux-e ich dokáže spracovať rovnako ako gzip-ované archívy. Miesto prepínača -z použijete -y:

   $ tar -xvyf foo.tar.bz2

Je dôležité poznamenať, že tar umiestni rozbalené súbory do aktuálneho adresára. Takže, ak máte archiv v /tmp, ktorý chcete rozbaliť do svojho domovského adresára, máte dve možnosti. Buď archív presuniete do zvojho domovského adresára a potom ho preženiete cez tar. Alebo môžete špecifikovať cestu k archívnemu súboru na príkazovom riadku:

   $ tar -xvzf /tmp/bar.tar.gz

Obsah archívu bude vyhodený do vášho domovského adresára a originálny komprimovaný archív zostane /tmp.

Druhá najčastejšia operaácie s tar-om je vytváranie vašich vlastných archívov. Vytvorenie archívu nie je o nič komplikovanejšie, než rozbaľovanie iných súborov; chce to len inú množinu prepínačov na príkazovom riadku.

Na vytvorenie skomprimovaného tar archívu všetkých súborov v aktuálnom adresári (vrátane všetkých podadresárov a ich súborov), môžete použiť tar takto:

   $ tar -cvzf archive.tar.gz .

V tomto príkazovom riadku prepínač -c hovorí tar-u, že má vytvoriť (create) archív, zatiaľ čo prepínač -z hovorí, že výsledný archívny súbor má prejsť cez gzip aby ho skomprimoval. archive.tar.gz je súbor, ktorý chcete vytvoriť. Môžete ho nazvať ako len chcete a ak pridáte celú cestu, umiestni ho do zadaného adresára. Tu je taký príklad:

   $ tar -cvzf /tmp/archive.tar.gz .

Archív teda pôjde do /tmp. Môžete tiež vymenovať všetky súbory a adresáre, ktoré majú byť vložené do archívu, vymenovaním na konci príkazového riadku. V tomto prípade . je adresár, ktorý má byť vložený do archívu. To môžeme, kľudne nahradiť zoznamom súborov, alebo čohokoľvek iného, čo chcete zaarchivovať.