Tar è uno strumento da riga di comando utilizzato per creare e manipolare file di archivio nei sistemi Linux e Unix. Il comando Tar crea un file di archivio .tar e quindi comprime utilizzando gzip o bzip2.
È possibile creare un singolo file compresso archiviato utilizzando un comando per ottenere il file .tar.gz oi file .tar.bz2. Il comando Tar può essere utilizzato anche per estrarre file archiviati.
Vediamo il comando tar in azione attraverso alcuni esempi pratici.
1) Crea un file di archivio .tar
Per creare un tar (.tar) non compresso, usa l'opzione -c con il comando tar come segue:
$ tar -cvf /path/to/foo.tar /path/to/foo/
Dove '/percorso/di/foo.tar' è la posizione del file tar risultante e '/path/to/foo' è la posizione del file o della directory da utilizzare come input.
Esempio
$ tar -cvf powerlog.tar powerlog
a powerlog
$ ls
powerlog powerlog.tar
Puoi utilizzare un percorso assoluto anziché relativo come mostrato nell'esempio.
2) Crea un archivio .gz con tar
La sintassi del comando per creare un .gz
l'archivio con tar è:
$ tar -czvf /path/to/foo.tgz /path/to/foo/
Dove '/path/to/foo.tgz' è il file compresso di destinazione e '/path/to/foo /' è la directory di origine o il file da comprimere.
3) Crea un archivio .bz2
L'opzione -j
viene utilizzato per lavorare con archivi .bz2.
$ tar -cjvf /path/to/foo.tgz /path/to/foo/
4) Crea un archivio .gz ed escludi
Usiamo --exclude
tar opzione per escludere un'estensione specifica o un elenco di estensioni di file. La sintassi è simile alla seguente:
$ tar -czvf /path/to/foo.tgz --exclude=\*.{jpg,gif,png,wmv,flv,tar.gz,zip} /path/to/foo/.
5) Usa tar senza percorso assoluto su compress
Quando usi tar per comprimere i file e fornisci un percorso assoluto, un file compresso avrà un percorso completo nei suoi metadati, quindi quando estrai il contenuto, sarà in directory simili al percorso assoluto che è stato passato. Per evitare ciò, aggiungi un . alla fine del comando.
$ tar -zcvf /path/to/foo.tgz -C/path/to/foo .
6) Tar tutti i file che iniziano con una lettera specifica
Crea un archivio tar di tutto nella directory corrente che inizia con una 'i'.
# tar -cvf fullbackup.tar i*
install.log
install.log.syslog
7) Aggiungi il nuovo file all'archivio tar esistente
Aggiungi un file o aggiungi un nuovo file all'archivio tar esistente.
# tar --append --file=backup.tar anaconda-ks.cfg
Il comando precedente aggiungerà un file anaconda-ks.cfg nell'archivio backup.tar
8) Aggiunta di due file di archivio con opzione concatena
# tar --concatenate --file=backup.tar fullbackup.tar
Il comando precedente aggiunge il contenuto di fullbackup.tar all'archivio backup.tar.
9) Estrai il file di archivio .tar
Per estrarre un archivio non compresso che spesso ha un'estensione .tar
, la sintassi del comando è:
$ tar -xvf /path/to/foo.tar
Dove /path/to/foo.tar è il percorso assoluto/relativo alla posizione di un file tar. Ad esempio
$ tar -xvf powerlog.tar
x powerlog/
10) Estrarre un archivio .gz
Per estrarre un .gz
archivio, utilizziamo la sintassi del comando:
$ tar -xzvf /path/to/foo.tgz
Dove '/path/to/foo.tgz' è il percorso assoluto o relativo del file compresso.
11) Estrarre un archivio .bz2
La sintassi del comando per estrarre un .bz2
l'archivio è
$ tar -xjvf /path/to/foo.bz2
Nota che puoi passare un file .tgz purché sia stato compresso con un -j
opzione. Tar rileverà automaticamente il formato e lo decomprimerà.
12) Estrarre un .tar nella directory specificata
Per estrarre un archivio tar in una directory specifica, usa -C
opzione per fornire la directory di destinazione.
$ tar -xvf /path/to/foo.tar -C /path/to/destination/
13) Estrai il file dall'archivio tar
Il comando seguente estrae il file 'anaconda-ks.cfg' nell'archivio 'backup.tar'.
# tar --extract -vv --occurrence --file=./backup.tar anaconda-ks.cfg
-rw-r--r-- root/root 766 2008-04-12 06:52:42 anaconda-ks.cfg
14) Elenca i contenuti dell'archivio .gz
Supponiamo di voler visualizzare solo il contenuto di un .tgz
file senza estrarli, utilizzerai la sintassi del comando:
$ tar -ztvf /path/to/foo.tgz
Sostituisci semplicemente '/path/to/foo.tgz' con il percorso corretto del tuo .tgz file
15) Elenca il contenuto del file di archivio .bz2
Se desideri visualizzare solo il contenuto di .bz2
archiviare senza estrarre, utilizzare il comando:
$ tar -jtvf /path/to/foo.tgz
16) Conserva i collegamenti simbolici usando il comando tar
Usa tar -cvhf
per preservare i miei collegamenti simbolici durante la generazione di un archivio tar (usa l'opzione "h" per questo).
Conclusione
È difficile ricordare tutte le opzioni del comando tar. Di seguito è riportato un elenco di opzioni tar comunemente utilizzate.
- j
:Utilizzato per filtrare l'archivio tramite bzip2.
- v
:Esegui il comando in modalità dettagliata per mostrare lo stato di avanzamento del file di archivio.
- f
:Specifica il nome del file di archivio.
- W
:utilizzato per verificare un file di archivio.
- z
:Filtra un archivio tramite lo strumento gzip.
- t
:Viene utilizzato per visualizzare il contenuto del file di archivio.
-c
:crea un nuovo archivio contenente gli elementi specificati.
-r
:Utilizzato per aggiungere o aggiornare l'archivio esistente con file o directory
-t
:elenca il contenuto di un archivio su stdout.
-u
:Come -r, ma le nuove voci vengono aggiunte solo se hanno una data di modifica più recente della voce corrispondente nell'archivio.
-x
:Estrai il file di archivio su disco.
Per tutte le operazioni tar, l'utilità esce con un 0
in caso di successo e >0
se si verifica un errore. È importante capirlo se stai usando tar con uno script.
Spero che ti sia piaciuto leggere questo tutorial sul comando tar. Si prega di lasciare i vostri suggerimenti nella sezione commenti qui sotto.
Leggi anche:
- Come preservare i collegamenti simbolici nel comando Tar