GNU/Linux >> Znalost Linux >  >> Linux

17 Užitečný příkaz Tar s praktickými příklady v Linuxu

Tar je nejrozšířenější příkaz v operačních systémech Unix a Linux pro vytváření archivu více souborů a složek do jednoho archivního souboru a tento archivní soubor lze dále komprimovat pomocí  gzip a bzip2 techniky. Jinými slovy můžeme říci, že příkaz tar se používá k zálohování archivováním více souborů a adresářů do jednoho souboru tar nebo archivu a později lze soubory a adresáře extrahovat z komprimovaného souboru tar.

V tomto článku probereme linuxový příkaz tar se 17 užitečnými příklady

Syntaxe příkazu tar:

# tar

Některé z běžně používaných voleb v příkazu tar jsou uvedeny níže:

Poznámka: pomlčka ( –) v možnostech příkazu tar jsou volitelné.

Příklad 1) Vytvořte archivní soubor tar

Vytvořme soubor tar z adresáře /etc a souboru ‚/root/ anaconda-ks.cfg‘.

[[email protected] ~]# tar -cvf myarchive.tar /etc /root/anaconda-ks.cfg

Výše uvedený příkaz vytvoří soubor tar s názvem „myarchive “ v aktuální složce. Soubor Tar obsahuje všechny soubory a adresáře /etc a anaconda-ks.cfg soubor.

V příkazu tar ‘-c ‘ možnost zadat pro vytvoření souboru tar, ‘-v’ se používá pro podrobný výstup a ‚-f‘ volba se používá k zadání názvu archivního souboru.

[[email protected] ~]# ls -l myarchive.tar
-rw-r--r--. 1 root root 22947840 Sep 7 00:24 myarchive.tar
[[email protected] ~]#

Příklad 2) Vypiš obsah archivního souboru

Pomocí „–t ‘ možnost v příkazu tar můžeme zobrazit obsah souborů tar, aniž bychom jej extrahovali.

[[email protected] ~]# tar -tvf myarchive.tar

Výpis konkrétního souboru nebo adresáře ze souboru tar. V níže uvedeném příkladu se snažím zjistit, zda je soubor „anaconda-ks.cfg“ v souboru tar nebo ne.

[[email protected] ~]# tar -tvf myarchive.tar root/anaconda-ks.cfg
-rw------- root/root 953 2016-08-24 01:33 root/anaconda-ks.cfg
[[email protected] ~]#

Příklad 3)  Připojit nebo přidat soubory na konec archivu

-r Možnost ‘ v příkazu tar se používá k připojení nebo přidání souboru k existujícímu souboru tar. Pojďme přidat soubor /etc/fstab do ‘data.tar

[[email protected] ~]# tar -rvf data.tar /etc/fstab

Poznámka: V komprimovaném souboru tar nemůžeme připojit soubor nebo adresář.

Příklad 4)  Extrahujte soubory a adresáře z archivního souboru

-x Možnost ‘ se používá k extrahování souborů a adresářů z archivního souboru tar. Pojďme extrahovat obsah výše vytvořeného souboru tar.

[[email protected] ~]# tar -xvf myarchive.tar

Výše uvedený příkaz rozbalí všechny soubory a adresáře souboru myarchive tar v aktuálním pracovním adresáři.

Příklad 5) Extrahujte archivní soubor tar do konkrétní složky

V případě, že chcete extrahovat soubor tar do konkrétní složky nebo adresáře, použijte ‘-C ‘ možnost následovaná cestou ke složce. Příklad je uveden níže

[[email protected] ~]# tar -xvf myarchive.tar -C /tmp/

Příklad 6)  Extrahujte konkrétní soubor nebo adresář ze souboru tar

Předpokládejme, že chcete extrahovat pouze soubor anaconda-ks.cfg ze souboru tar ve složce /tmp.

Syntaxe:

# tar –xvf {soubor-tar } {soubor, který má být extrahován } -C {cesta-kam-k-extrahovat}

[[email protected] tmp]# tar -xvf /root/myarchive.tar root/anaconda-ks.cfg -C /tmp/
root/anaconda-ks.cfg
[[email protected] tmp]# ls -l /tmp/root/anaconda-ks.cfg
-rw-------. 1 root root 953 Aug 24 01:33 /tmp/root/anaconda-ks.cfg
[[email protected] tmp]#

Příklad 7) Vytvořte a zkomprimujte archivní soubor (gzip)

Předpokládejme, že chceme vytvořit soubor tar ze složky /etc a /opt a také jej chceme komprimovat pomocí nástroje gzip. Toho lze dosáhnout pomocí „-z ‘ možnost v příkazu tar. Přípony takových souborů tar budou buď tar.gz nebo .tgz

[[email protected] ~]# tar -zcpvf myarchive.tar.gz /etc/ /opt/
Or
[[email protected] ~]# tar -zcpvf myarchive.tgz /etc/ /opt/

Příklad 8) Vytvořte a zkomprimujte archivní soubor (bzip2)

Předpokládejme, že chceme vytvořit komprimovaný (bzip2) soubor tar ze složky /etc a /opt. Toho lze dosáhnout pomocí volby ( -j ) v příkazu tar. Přípony takových souborů tar budou buď tar.bz2 nebo .tbz

[[email protected] ~]# tar -jcpvf myarchive.tar.bz2 /etc/ /opt/
Or
[[email protected] ~]# tar -jcpvf myarchive.tbz2 /etc/ /opt/

Příklad 9)  Při vytváření souboru tar vyloučit konkrétní soubory nebo typ

Pomocí „–exclude ” v příkazu tar můžeme vyloučit konkrétní soubor nebo typ souboru při vytváření souboru tar. Předpokládejme, že chceme při vytváření komprimovaného souboru tar vyloučit typ souboru html.

[[email protected] ~]# tar -zcpvf myarchive.tgz /etc/ /opt/ --exclude=*.html

Příklad 10) Seznam obsahu souboru tar.gz nebo .tgz

Obsah souboru tar s příponami tar.gz nebo .tgz se zobrazí pomocí volby ‘-t '. Příklad je uveden níže:

[[email protected] ~]# tar -tvf myarchive.tgz  | more 
............................................. 
drwxr-xr-x root/root         0 2016-09-07 08:41 etc/ 
-rw-r--r-- root/root       541 2016-08-24 01:23 etc/fstab 
-rw------- root/root         0 2016-08-24 01:23 etc/crypttab 
lrwxrwxrwx root/root         0 2016-08-24 01:23 etc/mtab -> /proc/self/mounts 
-rw-r--r-- root/root       149 2016-09-07 08:41 etc/resolv.conf 
drwxr-xr-x root/root         0 2016-09-06 03:55 etc/pki/ 
drwxr-xr-x root/root         0 2016-09-06 03:15 etc/pki/rpm-gpg/ 
..........................................................

Příklad 11)  Uveďte obsah souboru tar.bz2 nebo .tbz2

Obsah souboru tar s příponami .bz2 nebo .tbz2 se zobrazuje pomocí volby ‚-t‘. Příklad je uveden níže:

[[email protected] ~]# tar -tvf myarchive.tbz2  | more 
........................................................ 
rwxr-xr-x root/root         0 2016-08-24 01:25 etc/pki/java/ 
drwxr-xr-x root/root         0 2016-09-06 02:54 etc/pki/nssdb/ 
-rw-r--r-- root/root     65536 2010-01-12 15:09 etc/pki/nssdb/cert8.db 
-rw-r--r-- root/root      9216 2016-09-06 02:54 etc/pki/nssdb/cert9.db 
-rw-r--r-- root/root     16384 2010-01-12 16:21 etc/pki/nssdb/key3.db 
-rw-r--r-- root/root     11264 2016-09-06 02:54 etc/pki/nssdb/key4.db 
-rw-r--r-- root/root       451 2015-10-21 09:42 etc/pki/nssdb/pkcs11.txt 
-rw-r--r-- root/root     16384 2010-01-12 15:45 etc/pki/nssdb/secmod.db 
drwxr-xr-x root/root         0 2016-08-24 01:26 etc/pki/CA/ 
drwxr-xr-x root/root         0 2015-06-29 08:48 etc/pki/CA/certs/ 
drwxr-xr-x root/root         0 2015-06-29 08:48 etc/pki/CA/crl/ 
drwxr-xr-x root/root         0 2015-06-29 08:48 etc/pki/CA/newcerts/ 
drwx------ root/root         0 2015-06-29 08:48 etc/pki/CA/private/ 
drwx------ root/root         0 2015-11-20 06:34 etc/pki/rsyslog/ 
drwxr-xr-x root/root         0 2016-09-06 03:44 etc/pki/pulp/ 
..............................................................

Příklad 12)  Extrahujte komprimovaný archivní soubor (tar.gz nebo .tgz)

Soubory tar s příponou tar.gz nebo .tgz se extrahují nebo rozbalí pomocí možnosti „-x “ a „-z '. Příklad je uveden níže:

[[email protected] ~]# tar -zxpvf myarchive.tgz -C /tmp/

Výše uvedený příkaz rozbalí soubor tar ze složky /tmp.

Poznámka: Nyní se příkaz tar postará o typy kompresních souborů automaticky při extrahování, to znamená, že je pro nás volitelné zadat typ komprese v příkazu tar. Příklad je uveden níže:

[[email protected] ~]# tar -xpvf myarchive.tgz -C /tmp/

Příklad 13) Extrahujte nebo rozbalte soubory tar.bz2 nebo .tbz2

Soubory tar s příponou tar.bz2 nebo .tbz2 se extrahují s volbou ‘-j “ a „-x '. Příklad je uveden níže:

[[email protected] ~]# tar -jxpvf myarchive.tbz2 -C /tmp/

Nebo

[[email protected] ~]# tar xpvf myarchive.tbz2 -C /tmp/

Příklad 14)  Plánování zálohování pomocí příkazu tar

Existuje několik scénářů v reálném čase, kdy musíme denně vytvářet soubory tar konkrétních souborů a adresářů pro účely zálohování. Předpokládejme, že musíme denně zálohovat celou složku /opt, toho lze dosáhnout vytvořením úlohy cron příkazu tar. Příklad je uveden níže:

[[email protected] ~]# tar -zcvf optbackup-$(date +%Y-%m-%d).tgz /opt/

Vytvořte úlohu cron pro výše uvedený příkaz.

Příklad 15) Vytvořte a  zkomprimujte soubor archivu pomocí volby -T a -X

Existují některé scénáře v reálném čase, kdy chceme, aby příkaz tar převzal vstup ze souboru a tento soubor se bude skládat z cesty souborů a adresáře, které mají být archivovány a komprimovány, mohou existovat některé soubory, které bychom chtěli z archivu vyloučit, jsou uvedeny ve vstupním souboru.

V příkazu tar je vstupní soubor specifikován za „-T “ možnost a soubor, který se skládá ze seznamu výjimek, je uveden za „-X možnost.

Předpokládejme, že chceme archivovat a komprimovat adresáře jako /etc , /opt a /home a chcete vyloučit soubor „/etc/sysconfig/kdump“ a ‘/etc/sysconfig/foreman ‘, Vytvořte textový soubor ‘/root/tar-include “ a „/root/tar-exclude “ a vložte následující obsah do příslušného souboru.

[[email protected] ~]# cat /root/tar-include
/etc
/opt
/home
[[email protected] ~]#
[[email protected] ~]# cat /root/tar-exclude
/etc/sysconfig/kdump
/etc/sysconfig/foreman
[[email protected] ~]#

Nyní spusťte níže uvedený příkaz k vytvoření a komprimaci archivního souboru.

# tar zcpvf mybackup-$(date +%Y-%m-%d).tgz -T /root/tar-include -X /root/tar-exclude

Příklad 16) Zobrazení velikosti souboru .tar , .tgz a .tbz2

Pomocí níže uvedených příkazů zobrazíte velikost souborů tar a komprimovaných souborů tar.

[[email protected] ~]# tar -czf - data.tar | wc -c
427
[[email protected] ~]# tar -czf - mybackup-2016-09-09.tgz | wc -c
37956009
[[email protected] ~]# tar -czf - myarchive.tbz2 | wc -c
30835317
[[email protected] ~]#

Příklad 17) Rozdělte velký soubor tar na menší soubory

V operačním systému Linux je velký soubor rozdělen nebo rozdělen na menší soubory pomocí příkazu split. Velký soubor tar lze také rozdělit na menší části pomocí příkazu split.

Předpokládejme, že chceme rozdělit ‘mybackup-2016-09-09.tgz ‘ soubor na menší části po 6 MB.

Syntaxe : split -b . „název-předpony“

[[email protected] ~]# split -b 6M mybackup-2016-09-09.tgz mybackup-parts

Výše uvedený příkaz rozdělí komprimovaný soubor tar mybackup na menší soubory o velikosti 6 MB v aktuálním pracovním adresáři a názvy rozdělených souborů budou začínat od mybackup-partsaa … mybackup-partsag. V případě, že chcete přidat čísla místo abeced, použijte volbu „-d“ ve výše uvedeném příkazu rozdělení.

[[email protected] ~]# ls -l mybackup-parts*
-rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsaa
-rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsab
-rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsac
-rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsad
-rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsae
-rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsaf
-rw-r--r--. 1 root root 637219  Sep 10 03:05 mybackup-partsag
[[email protected] ~]#

Nyní můžeme tyto soubory přesunout na jiný server po síti a poté je můžeme sloučit do jednoho komprimovaného souboru tar pomocí níže uvedeného příkazu.

[[email protected] ~]# cat mybackup-partsa* > mybackup-2016-09-09.tgz
[[email protected] ~]#

To je vše, doufám, že se vám líbí různé příklady příkazu tar. Podělte se o své názory a komentáře.

Přečtěte si takéJak automatizovat úlohy v Linuxu pomocí Crontab

Přečtěte si také: 9 příkladů příkazů „diff“ v systému Linux


Linux
  1. 25 Užitečné hledání Příkaz Praktické příklady v Linuxu

  2. Třídit příkaz v Linuxu s příklady

  3. 5 Praktické příklady Head Command v Linuxu

  1. wc Linux Command s příklady

  2. Příkaz tar v Linuxu s příklady

  3. 14 Užitečné příklady příkazů „cat“ v Linuxu

  1. 10 Quick Linux Tail Command s příklady

  2. Linux ip příkaz s příklady

  3. 15 Příkaz Linux ps s příklady