Příkaz tar je užitečný pro sdružování více souborů a/nebo adresářů. V jistém smyslu je to podobné příkazu zip. Soubory zip jsou však komprimovány podle definice; Soubory tar lze komprimovat, ale nemusí.
Vytvoření souboru tar
V následujících příkladech je použita následující struktura souborů:adresář nejvyšší úrovně nazvaný /var/tmp/test obsahující soubory file1, file2 a file3.
# ls -lR /var/tmp/test /var/tmp/test: total 12 -rw-r--r-- 1 root root 2277 Jan 4 09:57 file1 -rw-r--r-- 1 root root 1611 Jan 4 09:58 file2 -rw-r--r-- 1 root root 1456 Jan 4 09:58 file3
1. Za předpokladu, že se již nacházíte v adresáři /var/tmp/test, pro vytvoření souboru tar všech souborů v adresáři test zadejte níže uvedený příkaz.
# tar cvf test.tar . ./ tar: ./test.tar: file is the archive; not dumped ./file1 ./file3 ./file2
Tady,
c – vytvořit (archiv)
v – upovídané (právě proto)
f – název souboru (název našeho souboru tar)
. – aktuální adresář
Zobrazení obsahu souboru tar
Aktuální adresář bude nyní obsahovat soubor s názvem test.tar . Chcete-li zobrazit obsah souboru tar, mohli bychom zadat tento příkaz:
# tar tvf test.tar drwxr-xr-x root/root 0 2018-01-04 10:01 ./ -rw-r--r-- root/root 2277 2018-01-04 09:57 ./file1 -rw-r--r-- root/root 1456 2018-01-04 09:58 ./file3 -rw-r--r-- root/root 1611 2018-01-04 09:58 ./file2
Tady,
t – obsah (seznam)
v – podrobné (zobrazit všechny informace)
f – název souboru (test.tar)
Rozbalení celého souboru tar
Chcete-li extrahovat celý obsah souboru tar do aktuálního adresáře, můžeme napsat:
# tar xvf test.tar ./ ./file1 ./file3 ./file2
Tady,
x – extrakt
v – verbose
f – název souboru (test.tar)
Extrahování konkrétních souborů ze souboru tar
Můžete také extrahovat konkrétní soubor ze souboru tar namísto extrahování celého souboru tar. Chcete-li z archivu extrahovat pouze soubor file1, zadejte následující příkaz:
tar xvf test.tar file1
Použití komprese s tar
Pokud byste také chtěli přidat kompresi do souborů tar, můžete kombinovat gzip nástroj s tar na příkazovém řádku přidáním z přepnout na příkaz. Když to uděláme, obvykle změníme příponu našeho souboru tar z .tar na .tgz nebo .tar.gz. To dá každému, kdo soubor uvidí, vědět, že se jedná o soubor gzip tar.
# tar zcvf test.tgz . ./ ./file1 ./file3 ./file2 tar: .: file changed as we read it
# ls -lrt total 16 -rw-r--r-- 1 root root 2277 Jan 4 09:57 file1 -rw-r--r-- 1 root root 1611 Jan 4 09:58 file2 -rw-r--r-- 1 root root 1456 Jan 4 09:58 file3 -rw-r--r-- 1 root root 1639 Jan 4 11:27 test.tgz
Zde,
z – komprese gzip
c – vytvořit
v – verbose
f – název souboru (test.tgz)
. – aktuální adresář
Příkaz tar ví o dalším kompresním algoritmu nazvaném bzip2 . Chcete-li místo gzip použít bzip2, nahraďte „z “ ve výše uvedeném příkazu s „j ‘ Například:
# tar jcvf test.bz2 .
Pro extrahování komprimovaných souborů zahrňte možnosti „z“ a „j“. Například,
# tar xzvf test.tgz # tar xjvf test.bz2
Zachování oprávnění pomocí tar
Pokud chcete zachovat oprávnění souborů, které zálohujete, použijte p možnost pomocí příkazu tar. Tím se uloží uid, gid a také specifické atributy oprávnění souborů (čtení, zápis, spouštění atd.)
# tar pcvf test.tar .
Při extrahování výše uvedeného souboru tar byste museli použít p možnost znovu, pokud chcete extrahovat soubory se zachovanými oprávněními k souboru. Například:
# tar pxvf test.tar .