Tar je jedním z nástrojů, který je často používán k vytváření záloh. V dnešním článku si proto budeme demonstrovat příklady použití nástroje tar v Linux Mintu. Navíc všechny níže uvedené příkazy budou pracovat ve všech verzích Linux Mintu.
Sám o sobě není tor archivním nástrojem v pravém slova smyslu, protože se nepoužívá kompresi. Současně platí, že řada nástrojů pro kompresi souborů (například gzip nebo bzip2) nedovede komprimovat více souborů najednou a pracuje pouze s jedním souborem nebo vstupem. Proto většina z těchto programů je používána společně.
Tar vytvoří nekomprimovaný archiv pro ukládání vybraných souborů a adresářů při zachování jejich atributů (např. přístupových práv). Výsledný soubor *tar je pak komprimován jiným kompresním nástrojem, např. gzip. A proto mají archivy obvykle příponu .tar.gz nebo .tar.bz2, podle použitého komprimačního nástroje.
Většina uživatelů Linux Mintu používá pro archivaci souborů programy s grafickým rozhraním (GUI). Někdy však v tu nejméně vhodnou chvíli nastane situace, kdy pohodlné a krásné rozhraní ve vašem oblíbeném pracovním prostředí není k dispozici. Pak přijde vhod starý dobrý příkazový řádek.
Řekněme tedy, že základní příkaz „ls“ vám ve výstupu zobrazil seznam souborů, mezi nimiž je i takový, který je pro vás nezbytný, například driver.tar.gz. Je v něm ukryt ovladač grafické karty potřebné pro správný chod vašeho grafického serveru. Spěcháte, abyste jej co nejdříve rozbalili a myslíte si, že nudný a nezajímavý příkazový řádek pro vás není. Z toho vás může vyvést právě příkaz tar.
Volby pro TAR:
- -c – chcete-li vytvořit archiv.
- -f – vytvoří výstupní soubor.
- -j – chcete-li použít kompresi bzip2.
- -J – chcete-li použít kompresi xz.
- -lzma – chcete-li použít kompresi lzma.
- -z – chcete-li použít kompresi gzip.
- -v – pro výstup akcí v terminálu.
Pro navrácení:
- -x – rozbalení archivu.
- -v – pro výstup akcí v terminálu.
- -p – zachovat oprávnění při rozbalování (ignoruje masky).
- -k – neumožní přepsat existující soubory.
- -m – neumožní modifikace.
- -O – zaznamená standardní výstup, neobnoví celý disk.
Další možnosti:
- -t – získá obsah archivu.
- -d – rozdíl mezi archivem a souborem.
- -b – použije 512bytový záznam v I/O blocích.
- -W – kontrola archivu.
- -w – interaktivní režim.
- -r – klepnutím na tlačítko přidáte soubory do archivu (již vytvořeného).
Další zajímavé možnosti zjistíte zadáním příkazů:
Příkaz terminálu: |
---|
man tar |
nebo
Příkaz terminálu: |
---|
tar --help |
Proto, pomocí příkazu tar s následujícími parametry můžete rozbalit výše zmíněný archiv s ovladačem:
Příkaz terminálu: |
---|
tar -xvvzf driver.tar.gz |
Další příklady:
Vytvoření adresáře s archivem:
Příkaz terminálu: |
---|
tar -cf adresář.tar adresář/ |
Chcete-li vytvořit archiv s více soubory (vybrané soubory):
Příkaz terminálu: |
---|
tar -cf adresář.tar soubor1 soubor2 soubor3 |
Chcete-li archivovat pouze soubory .mp3 v aktuálním adresáři pomocí komprese bzip a dění v příkazové řádce:
Příkaz terminálu: |
---|
tar -cvf má_mp3_kolekce.tar ./*.mp3 |
Chcete-li vytvořit archiv svého domovského adresáře /home/uživatel i s oprávněními:
Příkaz terminálu: |
---|
tar -cvpf uživatel.tar /home/uživatel/ |
Chcete-li vytvořit archiv adresáře /etc/, avšak vyloučit adresář apache2:
Příkaz terminálu: |
---|
tar -cvf záloha_etc_bez_apache_souboru.tar –exclude='/etc/apache2/' |
Chcete-li zabalit soubory do složky ~/ s veškerým obsahem komprimované pomocí archivu gzip:
Příkaz terminálu: |
---|
tar -cvzf soubory.tar.gz ~/soubory |
Stejný archiv pomocí komprese bzip2:
Příkaz terminálu: |
---|
tar -cvjf soubory.tar.bz2 ~/soubory |
Volba -v zobrazí proces zabalování souborů. Bohužel, vyspělejší zobrazování procesu zabalování (např. v procentech) v nástroji tar není k dispozici. Chcete-li jej využít, musíte použít nějaký grafický archivátor.
Kromě nástrojů gzip a bzip2 mohou být použity i nástroje lzma (volba -lzma ) nebo xz ( -J ), zatímco odpovídající archivátor musí být již v systému nainstalován.
Proces „rozbalení“ je specifikována pomocí volby -x. A zde opět budete muset zadat název souboru archivu pomocí volby -f. A přidat také přepínač -v pro vizuální zobrazení celého procesu.
Příkaz terminálu: |
---|
tar -xvf /cesta/k/archivu.tar.bz2 |
Rozbalení obsahu zálohy do aktuální složky. Alternativa k dekompresi – můžete zadat pomocí přepínače -C:
Příkaz terminálu: |
---|
tar -xvf archiv.tar.bz2 -C /cesta/ke/složce |
Chcete-li zobrazit obsah archivu použijte následující příkaz:
Příkaz terminálu: |
---|
tar -tf archiv.tar.gz |
Zobrazí se jednoduchý seznam souborů a adresářů v archivu. Pokud přidáme přepínač -v, zobrazí se podrobný seznam s uvedením velikosti, přístupových práv a dalších parametrů (stejně jako ls -l).
Chcete-li přidat soubory nebo adresáře do existujícího archivu tar, použijte volbu -r:
Příkaz terminálu: |
---|
tar -rvf linux-notes.tar test.txt |
Chcete-li zkontrolovat obsah archivu, použijte volbu -W:
Příkaz terminálu: |
---|
tar -tvfW linux-notes.tar |
No není příkazový řádek kouzelný?
Zde ma byt asi jen jedno „v“
tar -xvvzf driver.tar.gz
Znak – není pro volbu režimu povinný. Nemusí se použít.
tar zcvf archiv.tar.gz ./
bude fungovat úplně stejně jako tar -zcvf archiv.tar.gz ./
Možná stálo za zmínku uvést také parametr -C pro přesměrování výstupu do jiného adresáře.