Il comando tar è utile per raggruppare più file e/o directory. In un certo senso, è simile al comando zip. Tuttavia, i file zip sono compressi per definizione; tar possono essere compressi, ma non è necessario.
Creazione di un file tar
Negli esempi a seguire viene utilizzata la seguente struttura di file:una directory di livello superiore denominata /var/tmp/test contenente i file file1, file2 e 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. Supponendo che tu sia già nella directory /var/tmp/test, per creare un file tar di tutti i file nella directory test, esegui il comando seguente.
# tar cvf test.tar . ./ tar: ./test.tar: file is the archive; not dumped ./file1 ./file3 ./file2
Ecco,
c – creare (un archivio)
v – prolisso (solo perché)
f – filename (il nome del nostro file tar)
. – directory corrente
Visualizzazione del contenuto di un file tar
La directory corrente conterrà ora un file chiamato test.tar . Per visualizzare il contenuto del file tar, potremmo emettere questo comando:
# 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
Ecco,
t – indice (elenco)
v – dettagliato (mostra tutte le informazioni)
f – nome file (test.tar)
Estrazione del file tar completo
Per estrarre l'intero contenuto del file tar nella directory corrente, possiamo digitare:
# tar xvf test.tar ./ ./file1 ./file3 ./file2
Ecco,
x – estrarre
v – prolisso
f – nome file (test.tar)
Estrazione di file specifici dal file tar
Puoi anche estrarre un file specifico dal file tar invece di estrarre l'intero file tar. Per estrarre solo il file file1 dall'archivio, digita il seguente comando:
tar xvf test.tar file1
Uso della compressione con tar
Se desideri anche aggiungere compressione ai tuoi file tar, puoi combinare gzip utility con tar sulla riga di comando aggiungendo z passare al comando. Di solito, quando questo è fatto, cambiamo il suffisso del nostro nome file tar da .tar a .tgz o .tar.gz. Ciò consentirà a chiunque veda il file di sapere che si tratta di un file tar compresso con gzip.
# 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
Ecco,
z – compressione gzip
c – crea
v – prolisso
f – nome file (test.tgz)
. – directory corrente
Il comando tar conosce un altro algoritmo di compressione chiamato bzip2 . Per utilizzare bzip2 invece di gzip, sostituisci 'z ' nel comando precedente con un 'j ' Ad esempio:
# tar jcvf test.bz2 .
Per estrarre i file compressi, includi le opzioni 'z' e 'j'. Ad esempio,
# tar xzvf test.tgz # tar xjvf test.bz2
Conservazione delle autorizzazioni con tar
Se desideri preservare le autorizzazioni dei file di cui esegui il backup, utilizza il p opzione con il comando tar. Ciò salverà uid, gid e gli attributi di autorizzazione specifici dei file (lettura, scrittura, esecuzione ecc.)
# tar pcvf test.tar .
Durante l'estrazione del file tar sopra, dovresti usare il p opzione di nuovo se si desidera estrarre i file con i permessi dei file conservati. Ad esempio :
# tar pxvf test.tar .