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.
Bzip2 è uno degli algoritmi più popolari per la compressione dei file tar. Per convenzione, il nome di un archivio tar compresso con bzip2 termina con .tar.bz2 o .tbz2 .
In questo tutorial spiegheremo come estrarre (o decomprimere) tar.bz2 e tbz2 archivi usando il tar
comando.
Estrazione del file tar.bz2 #
La maggior parte delle distribuzioni Linux e macOS viene fornita con tar utility preinstallata per impostazione predefinita.
Per estrarre un file tar.bz2, usa --extract
(-x
) e specificare il nome del file di archivio dopo il -f
opzione:
tar -xf archive.tar.bz2
Il tar
il comando 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 o .tar.xz .
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.bz2 è sufficiente fare 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.bz2.
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.bz2
Per impostazione predefinita, tar
estrarrà il contenuto dell'archivio nella directory di lavoro corrente. Usa la --directory
(-C
) per estrarre i file di archivio in una directory specifica:
Ad esempio, per estrarre il contenuto dell'archivio in /home/linuxize/files
directory, dovresti digitare:
tar -xf archive.tar.bz2 -C /home/linuxize/files
Estrazione di file specifici da un file tar.bz2 #
Per estrarre uno o più file specifici da un file tar.bz2, aggiungi un elenco separato da spazi di nomi di file da estrarre dopo il nome dell'archivio:
tar -xf archive.tar.bz2 file1 file2
Quando si estraggono i file, è necessario fornire i loro nomi esatti incluso il percorso, come stampato quando il --list
(-t
) viene utilizzata l'opzione.
Estrarre una o più directory da un archivio equivale a estrarre più file:
tar -xf archive.tar.bz2 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.bz2 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.bz2 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 .md
(File Markdown), useresti:
tar -xf archive.tar.bz2 --wildcards '*.md'
Estrazione del file tar.bz2 da stdin #
Quando si estrae un file tar.bz2 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 bzip2.
Nell'esempio qui sotto stiamo scaricando i sorgenti di Vim usando il wget
comando e reindirizzare il suo output a tar
comando:
wget -c ftp://ftp.vim.org/pub/vim/unix/vim-8.1.tar.bz2 -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
Elenco del file tar.bz2 #
Per elencare il contenuto di un file tar.bz2, usa --list
(-t
) opzione:
tar -tf archive.tar.bz2
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.bz2
-rw-r--r-- linuxize/users 0 2019-02-15 01:19 file1
-rw-r--r-- linuxize/users 0 2019-02-15 01:19 file2
-rw-r--r-- linuxize/users 0 2019-02-15 01:19 file3
Conclusione #
tar.bz2 file è un archivio Tar compresso con Bzip2. Per estrarre un file tar.bz2, usa tar -xf
comando seguito dal nome dell'archivio.
Se hai domande, lascia un commento qui sotto.