Introduzione
Facilmente potresti incontrare file con estensione .tar.gz. I pacchetti open-source sono generalmente disponibili per il download nei formati .tar.gz e .zip.
Il comando tar
viene utilizzato per creare archivi tar convertendo un gruppo di file in un archivio. Supporta una vasta gamma di programmi di compressione come gzip, bzip2, lzip, lzma, lzop, xz e compress. Tar è stato originariamente progettato per la creazione di archivi di file di archivio su nastro magnetico che è il motivo per cui ha il suo nome “ T ape AR cipollina”.
Gzip è l'algoritmo più popolare per la compressione di file tar. Per convenzione, il nome di un archivio tar compresso con gzip dovrebbe terminare con .tar.gz o .tgz .
In breve, un file che termina in .tar.gz è un archivio .tar compresso con gzip.
Il comando tar
può anche essere utilizzato per estrarre archivi tar, visualizzare un elenco dei file inclusi nell'archivio, aggiungere altri file a un archivio esistente, nonché vari altri tipi di operazioni.
In questo tutorial, ti mostreremo come estrarre (o decomprimere) gli archivi tar.gz e tgz .
Estrarre un file tar.gz
La maggior parte delle distribuzioni Linux e macOS viene fornito con il comando tar preinstallato per impostazione predefinita.
Per estrarre un file tar.gz, utilizzare l'operatore --extract
(-x
) e specificare il nome del file dell'archivio dopo l'opzione f
:
tar -xf archive.tar.gz
Il comando tar
rileverà automaticamente il tipo di compressione ed estrarrà l'archivio. Lo stesso comando può essere utilizzato per estrarre archivi tar compressi con altri algoritmi come .tar.bz2
.
Se sei un utente Desktop e la riga di comando non fa per te, puoi utilizzare il tuo File manager. Per estrarre (decomprimere) un file tar.gz, fare semplicemente clic con il pulsante destro del mouse sul file che si desidera estrarre e selezionare “Estrai”. Gli utenti Windows avranno bisogno di uno strumento chiamato 7zip per estrarre i file tar.gz.
L'opzione -v
renderà il comando tar
più visibile e stamperà i nomi dei file estratti sul terminale.
tar -xvf archive.tar.gz
Per impostazione predefinita, tar
estrarrà il contenuto dell'archivio nella directory di lavoro corrente. Utilizzare il parametro --directory
(-C
) per estrarre i file di archivio in una directory specifica:
Ad esempio, per estrarre i contenuti dell'archivio nella directory /home/noviello/files
, è possibile utilizzare il seguente comando:
tar -xf archive.tar.gz -C /home/noviello/files
Estrarre un file specifico da un archivio tar.gz
Per estrarre uno o più file specifici da un archivio tar.gz, aggiungi un elenco separato da spazi di nomi di file da estrarre dopo il nome dell'archivio:
tar -xf archive.tar.gz file1 file2
Durante l'estrazione dei file, è necessario fornire i nomi esatti incluso il percorso, come stampato da --list
( -t
).
L'estrazione di una o più directory da un archivio equivale all'estrazione di file:
tar -xf archive.tar.gz dir1 dir2
Se si tenta di estrarre un file che non esiste, verrà visualizzato un messaggio di errore simile al seguente:
tar -xf archive.tar.gz README
tar: README: Not found in archive
tar: Exiting with failure status due to previous errors
È inoltre possibile estrarre i file da un file tar.gz basato su un modello wildcard, utilizzando l'opzione --wildcards
e citando il modello per impedire alla shell di interpretarlo.
Ad esempio, per estrarre i file i cui nomi finiscono in .js
(file Javascript), dovresti usare:
tar -xf archive.tar.gz --wildcards '*.js'
Estrarre un file tar.gz da stdin
Se stai estraendo un file tar.gz compresso leggendo l'archivio da stdin (di solito attraverso una pipe), devi specificare l'opzione di decompressione. L'opzione che dice a tar di leggere gli archivi tramite gzip è -z
.
Nel seguente esempio stiamo scaricando i sorgenti di Blender usando il comando wget
e reindirizzando il suo output al comando tar
:
wget -c https://download.blender.org/source/blender-2.80.tar.gz -O - | sudo tar -xz
Se non specifichi un'opzione di decompressione, tar
indicherà quale opzione dovresti usare:
tar: Archive is compressed. Use -z option
tar: Error is not recoverable: exiting now
Elencore il contenuto di un archivio tar.gz
Per elencare il contenuto di un file tar.gz, utilizzare l'opzione --list
(-t
):
tar -tf archive.tar.gz
L'output sarà simile al seguente:
file1
file2
file3
Se aggiungi l' opzione --verbose
(-v
), tar
stamperà ulteriori informazioni, come il proprietario, la dimensione del file, il timestamp, etc:
tar -tvf archive.tar.gz
-rw-r--r-- noviello/users 0 2019-02-15 01:19 file1
Conclusione
Il file tar.gz è un archivio Tar compresso con Gzip. Per estrarre un file tar.gz utilizzare, il comando tar -xf
seguito dal nome dell'archivio.