GNU/Linux >> Linux Esercitazione >  >> Linux

16 Comandi Tar per comprimere ed estrarre file in Linux

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

Linux
  1. Come archiviare file e directory in Linux [Parte 2]

  2. Come archiviare file e directory in Linux [Parte 1]

  3. Comando Tar in Linux (comprimi e decomprimi file)

  4. Come archiviare e comprimere file su Linux

  5. Come comprimere ed estrarre file usando il comando tar su Linux?

Comando Tar in Linux (crea ed estrai archivi)

Pigz:comprimi e decomprimi file in parallelo in Linux

Come comprimere ed estrarre file usando il comando Tar, Zip su Linux

Comando tar di Linux – Come comprimere file in Linux

Comando TAR Linux e Unix

Comando tar di Linux per comprimere ed estrarre file