Il tar
Il comando 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 popolare algoritmo 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 usare tar
comando per estrarre (o decomprimere) .tar.xz o .txz archivi.
Estrazione del file tar.xz #
Il catrame l'utilità è preinstallata per impostazione predefinita su tutte le distribuzioni Linux e macOS.
Per estrarre un file tar.xz, invoca il tar
comando con --extract
(-x
) e specificare il nome del file di archivio dopo il -f
opzione:
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 pulsante 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, usa -v
opzione. Questa opzione dice a tar
per visualizzare sul terminale i nomi dei file estratti.
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, usa la --directory
(-C
).
L'esempio seguente mostra come estrarre il contenuto dell'archivio in /home/linuxize/files
directory:
tar -xf archive.tar.xz -C /home/linuxize/files
Estrazione di 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 loro nomi esatti incluso il percorso, come stampato quando il tar
viene invocato con --list
(-t
) opzione.
Estrarre una o più directory da un archivio equivale a estrarre 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
Il --wildcards
l'opzione consente di estrarre file da un file tar.xz in base a un modello di caratteri jolly. Il modello deve essere citato per impedire alla shell di interpretarlo.
Ad esempio, per estrarre solo i file i cui nomi terminano con .png
, useresti:
tar -xf archive.tar.xz --wildcards '*.png'
Estrazione del file tar.xz da stdin #
Quando si estrae un file tar.xz compresso leggendo l'archivio dallo standard input (di solito tramite piping), è necessario specificare l'opzione di decompressione. Il -J
l'opzione dice a tar
che il file sia compresso con xz.
Nell'esempio seguente stiamo scaricando il kernel Linux usando wget
comando e reindirizzare il suo output a tar
comando:
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 il contenuto del file tar.xz #
Per elencare il contenuto di un file tar.xz, usa --list
(-t
) opzione:
tar -tf archive.tar.xz
L'output sarà simile a questo:
file1
file2
file3
Se aggiungi il --verbose
(-v
) opzione, tar
stamperà ulteriori informazioni, come proprietario, dimensione del file, timestamp ..ecc:
tar -tvf archive.tar.xz
-rw-r--r-- linuxize/users 0 2020-02-15 01:19 file1
-rw-r--r-- linuxize/users 0 2020-02-15 01:19 file2
-rw-r--r-- linuxize/users 0 2020-02-15 01:19 file3
Conclusione #
tar.xz file è un archivio Tar compresso con xz. Per estrarre un file tar.xz, usa tar -xf
comando, seguito dal nome dell'archivio.
Se hai domande, lascia un commento qui sotto.