Press "Enter" to skip to content

Creare e leggere file tar e tar.gz su linux/unix e mac – Ubuntu, mint, debian, macOS

Chi frequenta il mondo linux da molto tempo probabilmente conosce i file tar e tar.gz, ma chi è nuovo di questo mondo potrebbe trovarsi spiazzato davanti ad un file di questo tipo. saper cerare e leggere file tar e tar.gz è molto comodo in diverse situazioni ed è quindi utile capire cosa sono e come si usano questi due formati.

Indice

A cosa servono i file tar e tar.gz?

I file tar e tar.gz sono due formati di file che permettono di raggruppare più file in un unico file. Questo ci permette di gestire ad esempio un’intera cartella come un unico file. Possiamo quindi raggruppare un grande numero di file in un unico archivio tar, spostare questo singolo file su un altro computer, inviarlo via internet o passarlo ad un amico, e poi una volta giunto a destinazione, estrarre tutti i file dall’archivio.

Differenza fra tar e tar.gz

Visto che stiamo parlando insieme di tar e tar.gz, viene da chiedersi quale sia la differenza fra questi due formati.

La differenza è abbastanza semplice: il formato tar non è compresso, i file sono solo “raggruppati”, mentre il formato tar.gz è sempre un file tar, ovvero i file vengono raggruppati, ma il file tar viene poi compresso, solitamente con l’algoritmo gzip, da cui l’estensione prende il nome.

La differenza fra i due file è quindi solamente il fatto che il tar è solamente un archivio, mentre il tar.gz è un archivio compresso.

Potrebbe quindi venire spontaneo pensare che sia sempre meglio utilizzare il formato tar.gz in modo da ottenere un file di dimensioni minori. Dobbiamo però considerare che il processo di compressione può richiedere del tempo, e magari per file particolarmente grandi potremmo preferire risparmiare il tempo della compressione al costo di un file un po’ più grande. Per file particolarmente piccoli invece il guadagno di spazio ottenuto con la compressione potrebbe essere poco significante e quindi indurci anche in questo caso a non ricorrere alla compressione.

Il caso d’uso più frequente del formato tar.gz è quello dei pacchetti software messi a disposizione su internet. In questo caso si utilizza questo formato perché in questo modo il produttore può raggruppare tutti i file in un unico pacchetto, sicuramente più comodo da scaricare, e può comprimere i dati in modo che il download sia più veloce per l’utente finale.

In pratica, se siete abituati al mondo windows possiamo dire che il formato tar.gz è l’equivalente dei formati zip e rar usati tipicamente nei sistemi windows.

Il comando tar

La sintassi per utilizzare un file tar è semplice:

tar <opzioni> <nome file tar> <pattern file da includere>

Possiamo utilizzare il comando tar per eseguire la maggior parte delle azioni su questo tipo di file: creare un archivio tar, visualizzare la lista dei file contenuti in un archivio tar, o estrarre il contenuto di un archivio tar. Per ognuna di queste operazioni utilizzeremo diverse opzioni (o flag).

Creare un archivio tar su linux

La prima operazione che vedremo è la creazione di un archivio tar. Per questa operazione dovremo specificare le opzioni cf ed includere il nome che vogliamo dare al nostro file (compresa l’estensione .tar) e il pattern da utilizzare per includere i file.

Nel caso più semplice quello che dovremo fare è aprire un terminale, muoverci nella directory in cui ci sono i file che vogliamo includere, e lanciare il comando:

tar cf archivio.tar *

Il pattern * includerà tutti i file della directory corrente.

Il file in questo caso verrà creato nella directory corrente, ovvero quella in cui abbiamo eseguito il comando.

Se vogliamo più informazioni potremo aggiungere l’opzione v, che attiverà la modalità verbosa del comando.

Come molti comandi linux, il comando tar sovrascrive i file senza chiedere conferma, se quindi nel nostro caso ci sarà già un file chiamato archivio.tar nella directory corrente, verrà sovrascritto dal nuovo.

Il comando tar effettua una copia dei file originali nell’archivio, questi sono quindi preservati nel loro percorso originario e non vengono cancellati o modificati. Nel caso volessimo, dovremo cancellare i file successivamente.

In alternativa possiamo specificare esplicitamente uno o più file da inserire nell’archivio, ad esempio:

tar cf prova.tar file1.txt file2.doc

In questo caso nel file prova.tar verranno inclusi solamente i file file1.txt e file2.doc

Visualizzare il contenuto di un archivio tar su linux

Una volta creato il nostro archivio tar, possiamo visualizzarne il contenuto in modo da controllare che tutti i file necessari siano stati inclusi. Questo comando è utile anche nel caso in cui volessimo analizzare il contenuto di un archivio prima di estrarlo sul nostro computer perché ricevuto da fonti poco affidabili o perché si tratta di un file vecchio e non ricordiamo cosa contenga.

La sintassi in questo caso prevede l’utilizzo delle opzioni tf seguite solamente dal nome del file che vogliamo visualizzare. Un esempio completo sarà quindi:

tar tf archivio.tar

Con questo comando riceveremo un output simile al seguente:

uso del comando tar tf per ottenere la lista dei file contenuti in un archivio tar
uso del comando tar tf per ottenere la lista dei file contenuti in un archivio tar

Se vogliamo più informazioni sui file, anche in questo caso possiamo aggiungere l’opzione v, che ci fornirà diverse informazioni aggiuntive su ogni file presente nell’archivio.

Esempio del comando tar tvf per vedere la lista dei file contenuti in un archivio tar con più dettagli
Esempio del comando tar tvf per vedere la lista dei file contenuti in un archivio tar con più dettagli

Come estrarre un file tar

A questo punto non rimane che capire come si fa ad estrarre il contenuto da un file tar.

Come primo passo la cosa più semplice è copiare il file tar nella cartella in cui vogliamo estrarne il contenuto in modo da non dover specificare tutti i percorsi in maniera esplicita.

Una volta copiato il file nella cartella di destinazione usiamo il comando tar con le opzioni xf per estrarne il contenuto.

tar xf archivio.tar

A questo punto i file verranno estratti dall’archivio e copiati nella cartella corrente. Anche in questo caso avremo il comportamento “standard” dei sistemi linux/unix per quanto riguarda la sovrascrittura dei file. Ogni file presente nell’archivio che ha lo stesso nome di uno già presente nella cartella di destinazione sarà sovrascritto senza nessuno avvertimento.

Anche in questo caso potremo aggiungere l’opzione v e attivare una visualizzazione più dettagliata delle operazioni svolte dal comando.

Il comando per creare file tar.gz

Fino ad ora abbiamo visto come creare, visualizzare ed estrarre i file tar, ma non abbiamo ancora visto come si lavora con i file tar.gz.

Il comando che utilizzeremo è lo stesso, ovvero il comando tar, ma aggiungeremo un’opzione che ci permetterà di indicare a tar di creare e comprimere l’archivio.

L’opzione da utilizzare per creare un file tar e comprimerlo ottenendo un file tar.gz è z. Il comando per creare file tar.gz compressi sarà quindi ad esempio:

tar zcf archivioCompresso.tar.gz *

Conclusioni

Abbiamo quindi visto il modo più semplice per creare e leggere file tar e tar.gz su linux e mac. Si tratta di pochi semplici comandi ma che saranno sicuramente utili nella gestione del proprio sistema unix.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.