Come estrarre (decomprimere) i file tar.xz su Linux

7 mar 2020 3 min di lettura
Come estrarre (decomprimere) i file tar.xz su Linux
Indice dei contenuti

Introduzione

Il comando tar consente di creare ed estrarre archivi tar. Supporta una vasta gamma di programmi di compressione come gzip, bzip2, lzip, lzma, lzop, xz e compress.

Xz è un algoritmo popolare per la compressione di file basato sull'algoritmo LZMA. Per convenzione, il nome di un archivio tar compresso con xz termina con .tar.xz o .txz .

Questo articolo spiega come utilizzare il comando tar per estrarre (o decomprimere) archivi .tar.xz o .txz .

Installare l'utility tar

L'utilità tar è preinstallata per impostazione predefinita sulla maggior parte delle distribuzioni Linux e macOS.

Per installare l'utility tar su CentOS, Red Hat e Fedora digitare il seguente comando:

 sudo dnf install tar

Per installare l'utility tar su Debian, Ubuntu, Linux Mint e derivate:

 sudo apt-get install tar

Estrare il file tar.xz

Per estrarre un file tar.xz, invoca il comando tar con l'opzione --extract(-x) e specifica il nome del file di archivio dopo l'opzione -f:

tar -xf archive.tar.xz

tar rileva automaticamente il tipo di compressione ed estrae l'archivio. Lo stesso comando può essere utilizzato per estrarre archivi tar compressi con altri algoritmi, come .tar.gz o .tar.bz2.

Se la riga di comando non fa per te, puoi utilizzare il File manager della GUI. Per estrarre (decomprimere) un file tar.xz è sufficiente fare clic con il tasto destro del mouse sul file che si desidera estrarre e selezionare “Estrai”. Gli utenti Windows hanno bisogno di uno strumento chiamato 7zip per estrarre i file tar.xz.

Per un output più dettagliato, utilizzare l'opzione -v. Questa opzione indica a tar di visualizzare i nomi dei file estratti sul terminale.

tar -xvf archive.tar.xz

Per impostazione predefinita, tar estrae il contenuto dell'archivio nella directory di lavoro corrente. Per estrarre i file di archivio in una directory specifica, utilizzare il flag --directory(-C).

L'esempio seguente mostra come estrarre i contenuti dell'archivio nella directory /home/noviello/files:

tar -xf archive.tar.xz -C /home/noviello/files

Estrarre file specifici da un file tar.xz

Per estrarre uno o più file specifici da un file tar.xz, aggiungi un elenco separato da spazi di nomi di file da estrarre dopo il nome dell'archivio:

tar -xf archive.tar.xz file1 file2

Quando si estraggono i file, è necessario fornire i nomi esatti incluso il percorso, visualizzabili quando tar viene invocato con l'opzione --list(-t).

L'estrazione di una o più directory da un archivio equivale all'estrazione di più file:

tar -xf archive.tar.xz dir1 dir2

Se si tenta di estrarre un file che non esiste nell'archivio, verrà visualizzato un messaggio di errore simile al seguente:

tar -xf archive.tar.xz README
tar: README: Not found in archive
tar: Exiting with failure status due to previous errors

L'opzione --wildcards consente di estrarre i file da un file tar.xz in base a un modello wildcards. Il modello deve essere citato per impedire alla shell di interpretarlo.

Ad esempio, per estrarre solo i file i cui nomi finiscono .png, dovresti usare:

tar -xf archive.tar.xz --wildcards '*.png'

Estrarre il file tar.xz da stdin

Quando si estrae un file tar.xz compresso leggendo l'archivio dall'input standard (di solito tramite piping), è necessario specificare l'opzione di decompressione. L'opzione -J dice a tar che il file è compresso con xz.

Nell'esempio seguente stiamo scaricando il kernel Linux usando il comando wget e reindirizzando il suo output al comando tar:

wget -c https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.5.3.tar.xz -O - | sudo tar -xj

Se non specifichi un'opzione di decompressione, tar ti mostrerà quale opzione dovresti usare:

tar: Archive is compressed. Use -J option
tar: Error is not recoverable: exiting now

Elencare i contenuti del file tar.xz

Per elencare il contenuto di un file tar.xz, utilizzare l'opzione --list(-t):

tar -tf archive.tar.xz

L'output sarà simile al seguente:

file1
file2
file3

Se aggiungi l'opzione --verbose(-v), verranno stampate ulteriori informazioni, come il proprietario, la dimensione del file, il timestamp, etc:

tar -tvf archive.tar.xz
-rw-r--r-- noviello/users       0 2020-01-05 03:11 file1
-rw-r--r-- noviello/users       0 2020-01-05 03:11 file2
-rw-r--r-- noviello/users       0 2020-01-05 03:11 file3

Conclusione

Il file tar.xz è un archivio Tar compresso con xz. Per estrarre un file tar.xz, utilizzare il comando tar -xf, seguito dal nome dell'archivio.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.