GNU/Linux >> Linux Esercitazione >  >> Linux

17 Utile comando Tar con esempi pratici in Linux

Tar è il comando più utilizzato nei sistemi operativi Unix e Linux per creare archivi di più file e cartelle in un unico file di archivio e tale file di archivio può essere ulteriormente compresso utilizzando  gzip e bzip2 tecniche. In altre parole, possiamo dire che il comando tar viene utilizzato per eseguire il backup archiviando più file e directory in un unico file tar o archivio e successivamente è possibile estrarre file e directory dal file compresso tar.

In questo articolo, discuteremo del comando tar di Linux con 17 esempi utili

Sintassi del comando tar:

# tar

Alcune delle opzioni comunemente usate nel comando tar sono elencate di seguito:

Nota : trattino ( – ) nelle opzioni del comando tar sono opzionali.

Esempio 1) Creare un file di archivio tar

Creiamo un file tar della directory /etc e il file '/root/anaconda-ks.cfg'.

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

Il comando precedente creerà un file tar con il nome "myarchive ” nella cartella corrente. Il file Tar contiene tutti i file e le directory di /etc cartella e anaconda-ks.cfg file.

Nel comando tar '-c ' opzione specifica per creare un file tar, '-v' viene utilizzato per l'output dettagliato e "-f" viene utilizzata per specificare il nome del file di archivio.

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

Esempio 2) Elenca il contenuto del file di archivio

Usando '–t ' opzione nel comando tar possiamo visualizzare il contenuto dei file tar senza estrarlo.

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

Elencare un file o una directory specifica dal file tar. Nell'esempio seguente sto cercando di vedere se il file "anaconda-ks.cfg" è presente nel file tar o meno.

[[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] ~]#

Esempio 3)  Aggiungi o aggiungi file alla fine dell'archivio

'-r L'opzione ' nel comando tar viene utilizzata per aggiungere o aggiungere file al file tar esistente. Aggiungiamo il file /etc/fstab in 'data.tar '

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

Nota: Nel file tar compresso non possiamo aggiungere file o directory.

Esempio 4) Estrarre file e directory dal file di archivio

'-x L'opzione 'è usata per estrarre i file e le directory dal file di archivio tar. Estraiamo il contenuto del file tar creato sopra.

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

Il comando precedente estrarrà tutti i file e le directory del file tar myarchive nella directory di lavoro corrente.

Esempio 5) Estrarre il file di archivio tar in una cartella particolare

Nel caso in cui desideri estrarre il file tar in una cartella o directory particolare, usa "-C ' opzione seguita dal percorso di una cartella. L'esempio è mostrato di seguito

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

Esempio 6) Estrarre un file o una directory particolare dal file tar

Supponiamo che tu voglia estrarre solo il file anaconda-ks.cfg dal file tar nella cartella /tmp.

Sintassi :

# tar –xvf {tar-file } {file-da-estrarre } -C {percorso-dove-estrarre}

[[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]#

Esempio 7) Creare e comprimere file di archivio (gzip)

Supponiamo di voler creare un file tar della cartella /etc e /opt e di volerlo anche comprimere usando lo strumento gzip. Questo può essere ottenuto usando "-z ' opzione nel comando tar. Le estensioni di tali file tar saranno tar.gz o .tgz

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

Esempio 8) Creare e comprimere file di archivio (bzip2)

Supponiamo di voler creare un file tar compresso (bzip2) della cartella /etc e /opt. Questo può essere ottenuto utilizzando l'opzione ( -j ) nel comando tar. Le estensioni di tali file tar saranno tar.bz2 o .tbz

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

Esempio 9) Escludi file o digita particolari durante la creazione del file tar

Usando “–escludi ” opzione nel comando tar possiamo escludere il particolare file o tipo di file durante la creazione del file tar. Supponiamo di voler escludere il tipo di file html durante la creazione del file tar compresso.

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

Esempio 10) Elenca il contenuto del file tar.gz o .tgz

Il contenuto del file tar con estensione tar.gz o .tgz viene visualizzato utilizzando l'opzione '-t '. L'esempio è mostrato di seguito:

[[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/ 
..........................................................

Esempio 11) Elenca il contenuto del file tar.bz2 o .tbz2

Il contenuto del file tar con estensione .bz2 o .tbz2 viene visualizzato utilizzando l'opzione '-t'. L'esempio è mostrato di seguito:

[[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/ 
..............................................................

Esempio 12)  Estrai file di archivio compresso (tar.gz o .tgz)

i file tar con estensione tar.gz o .tgz vengono estratti o decompressi con l'opzione '-x ' e '-z '. L'esempio è mostrato di seguito:

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

Il comando sopra estrarrà il file tar nella cartella /tmp.

Nota : Ora un comando days tar si prenderà cura dei tipi di file di compressione automaticamente durante l'estrazione, significa che è facoltativo per noi specificare il tipo di compressione nel comando tar. L'esempio è mostrato di seguito:

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

Esempio 13) Estrarre o decomprimere i file tar.bz2 o .tbz2

i file tar con estensione tar.bz2 o .tbz2 vengono estratti con l'opzione '-j ' e '-x '. L'esempio è mostrato di seguito:

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

Oppure

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

Esempio 14) Pianificazione del backup con il comando tar

Ci sono alcuni scenari in tempo reale in cui dobbiamo creare file tar di file e directory particolari a scopo di backup su base giornaliera. Supponiamo di dover eseguire il backup dell'intera cartella /opt su base giornaliera, questo può essere ottenuto creando un cron job del comando tar. L'esempio è mostrato di seguito:

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

Crea un lavoro cron per il comando precedente.

Esempio 15) Creare e comprimere un file di archivio con l'opzione -T e -X

Ci sono alcuni scenari in tempo reale in cui vogliamo che il comando tar prenda input da un file e quel file sarà costituito dal percorso di file e directory che devono essere archiviati e compressi, potrebbero esserci dei file che vorremmo escludere nell'archivio che sono menzionati nel file di input.

Nel file di input del comando tar è specificato dopo '-T L'opzione e il file che consiste nell'elenco di esclusione sono specificati dopo '-X ' opzione.

Supponiamo di voler archiviare e comprimere le directory come /etc , /opt e /casa e vuoi escludere il file '/etc/sysconfig/kdump' e '/etc/sysconfig/foreman ', Crea un file di testo '/root/tar-include ' e '/root/tar-exclude ' e inserisci i seguenti contenuti nel rispettivo file.

[[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] ~]#

Ora esegui il comando seguente per creare e comprimere il file di archivio.

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

Esempio 16) Visualizza la dimensione del file .tar , .tgz e .tbz2

Usa i comandi seguenti per visualizzare le dimensioni dei file tar e tar compressi.

[[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] ~]#

Esempio 17) Dividi il file tar grande in file più piccoli

In Linux, come il sistema operativo, il file grande viene diviso o diviso in file più piccoli usando il comando split. Il file tar grande può anche essere diviso in parti più piccole usando il comando dividi.

Supponiamo di voler dividere "mybackup-2016-09-09.tgz ' file in parti più piccole di ogni 6 MB.

Sintassi : split -b . "prefix-name"

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

Il comando precedente dividerà il file tar compresso di mybackup nei file più piccoli ciascuno di dimensioni 6 MB nella directory di lavoro corrente e i nomi dei file divisi inizieranno da mybackup-partsaa … mybackup-partsag. Nel caso in cui desideri aggiungere numeri al posto degli alfabeti, usa l'opzione '-d' nel comando suddetto diviso.

[[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] ~]#

Ora possiamo spostare questi file in un altro server sulla rete e quindi possiamo unire tutti i file in un unico file compresso tar usando il comando menzionato di seguito.

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

Questo è tutto, spero che ti piacciano diversi esempi di comando tar. Si prega di condividere feedback e commenti.

Leggi ancheCome automatizzare le attività in Linux utilizzando Crontab

Leggi anche : 9 esempi di comandi "diff" in Linux


Linux
  1. Comando wc Linux con esempi

  2. 25 Utili comandi find Esempi pratici in Linux

  3. Ordina il comando in Linux con esempi

  4. 5 esempi pratici di comando principale in Linux

  5. 14 Utili esempi di comandi "cat" in Linux

Comando Linux WC con esempi

9 Esempi utili di Touch Command in Linux

Utilizzo del comando Linux mv con esempi

Comando di montaggio Linux con esempi

Comando gawk Linux con esempi

Linux make Command con esempi