Dai video a interi pacchetti software, molti file vengono compressi e archiviati utilizzando il formato .tar.gz. Anche se estrarre un file .tar.gz non è facile come decomprimere un .zip, è comunque piuttosto semplice.

Man mano che i software diventano più potenti e i media più ricchi di dati, le dimensioni dei file continuano a crescere in modo esponenziale. Di conseguenza, è sempre più comune archiviare e inviare file in formati compressi come .tar.gz.

Comprimere ed estrarre questi file, però, non è sempre intuitivo. In questa guida vi illustreremo i passaggi base per decomprimere i file .tar.gz in Linux e Windows, oltre a fornirvi alcuni consigli e trucchi utili.

Cosa Sono i File .tar e .tar.gz?

Un file “.tar” è una raccolta di file compressi in un unico file o archivio. Abbreviazione di “Tape ARchive”, il nome “TAR” è un ritorno ai tempi in cui i file venivano archiviati su unità a nastro magnetico.

Fortunatamente, non è necessario essere un tecnico informatico degli anni ’60 per utilizzare ed estrarre i file .tar, né i moderni file .tar hanno a che fare con i vecchi computer.

Proprio come i più familiari file .zip, i file .tar comprimono file di grandi dimensioni in un unico pacchetto, rendendo più facile l’archiviazione e l’invio tramite e-mail, server e così via. Di conseguenza, è diventata un’estensione comune per molti pacchetti software open-source e altre risorse.

Ma visto che .zip è il più facile da usare, perché usare .tar? Come vedremo nella prossima sezione, .tar ha alcune caratteristiche aggiuntive che lo rendono il formato di compressione migliore per determinati file e applicazioni.

.tar vs .zip

Mentre la maggior parte dei sistemi operativi facilita l’estrazione e la creazione di file .zip, lo stesso non si può dire per i file .tar, almeno non in modo evidente.

Naturalmente, questo non significa che i file .tar siano una sorta di formato “inferiore” rispetto a .zip. Piuttosto, entrambi svolgono lo stesso compito (la compressione dei file) nello stesso modo. Ecco come funziona il tutto.

  • Un file .tar è una raccolta di file non compressi, talvolta nota come tarball. Poiché il file .tar non comprime nulla, richiede un’utility di compressione separata per essere compresso. Come vedremo in seguito, una popolare utility di compressione è gzip, che comprime un file .tar in un file .tar.gz.
  • Un file .zip è una raccolta di file compressi. Invece di utilizzare un’utility di compressione separata per comprimere l’intera raccolta, .zip comprime automaticamente ogni file all’interno della raccolta.

Probabilmente avrete già notato la principale differenza tra i file .tar e .zip: i metodi di compressione.

Mentre i file .zip sono composti da molti file compressi singolarmente, i file .tar sono compressi come un unico pacchetto, lasciando i file non compressi. In altre parole, i file .zip sono una raccolta di file compressi, mentre i file .tar sono una raccolta compressa di file.

Ma il metodo di compressione è davvero così importante, soprattutto se entrambi i metodi producono tecnicamente dei file compressi?

Dipende. Per l’invio e l’archiviazione, sia i file .zip che i file .tar.gz vi permetteranno di inviare pacchetti relativamente grandi come un unico file. Tuttavia, ci sono alcune differenze sostanziali per quanto riguarda l’accesso ai dati all’interno dei file e l’efficienza della compressione.

  • i file .zip sono più accessibili. Poiché i dati in un file .zip sono compressi singolarmente, è possibile accedervi anche singolarmente. Al contrario, i dati contenuti in un file .tar.gz sono accessibili solo dopo aver estratto l’intero file.
  • i file .tar.gz sono più efficienti dal punto di vista dello spazio. Poiché i file .tar sono compressi come un’unica entità piuttosto che come un gruppo di file compressi singolarmente, le utility di compressione possono raggruppare le somiglianze tra i file e ridurre lo spazio. In altre parole, comprimere i file come un unico gruppo permette di utilizzare metodi di compressione più efficienti, risparmiando spazio e riducendo la dimensione complessiva del file.

Se non è del tutto chiaro, non preoccupatevi. A parte i dettagli tecnici, tutto ciò che è necessario ricordare è che i file .zip sono più accessibili ma meno efficienti dal punto di vista dello spazio, mentre i file .tar sono meno accessibili ma più efficienti dal punto di vista dello spazio. Di conseguenza, uno non è necessariamente migliore dell’altro: è solo una questione di applicazione.

Qual è la Differenza tra i File .tar e .tar.gz?

Mentre entrambi i file .tar e .tar.gz si riferiscono ad archivi di file, un file .tar.gz è un file .tar che è stato compresso o “zippato” utilizzando l’utility gzip. L’utilizzo di gzip per la compressione conferisce al file la doppia estensione “.gz”.

Sebbene gzip sia l’utility di compressione più comune, non è l’unica. Come potete immaginare, l’utilizzo di un’altra utility di compressione su un file .tar avrà come risultato una doppia estensione diversa. Alcuni esempi comuni sono .tar.bz2 (bzip2), .tar.br (Brotli) e .tar.zst (zstd), oltre a molti altri.

Come vedremo in seguito, le diverse utility di compressione possono richiedere metodi diversi per estrarre e decomprimere i file. Anche se ci concentreremo principalmente sui file .tar.gz, date un’occhiata alla fine dell’articolo per alcuni suggerimenti rapidi sull’estrazione di file .tar in altri formati.

Altrimenti, continuate a leggere per scoprire come decomprimere i file .tar.gz in Linux, macOS e Windows.

Come si Decomprime un File .tar.gz nel Terminale Linux?

La maggior parte delle distribuzioni Linux e macOS includono strumenti integrati per zippare e decomprimere i file .tar e .tar.gz. Mentre l’utility tar è sufficiente per la maggior parte degli scopi, avrete bisogno dell’utility gzip per creare file .tar.gz.

Decomprimere .tar.gz in Linux

È possibile decomprimere la maggior parte dei file .tar.gz e altri file .tar compressi utilizzando l’utility tar.

Per il metodo più semplice, iniziate aprendo il terminale (CTRL+ALT+T) e navigate nella directory del file .tar.gz che volete decomprimere. Quindi inserite il seguente comando:

Estrarre il file .tar.gz nella directory di lavoro corrente:

 tar -xf filename.tar.gz

Questo comando estrarrà (-x) il file (-f) specificato (in questo caso, nomefile.tar.gz) nella directory corrente. È bene notare che questo comando funziona anche con altri formati di compressione comuni come .tar.bz2.

Il comando tar include anche diverse altre opzioni. Come molti comandi Linux, una di queste è l’output verbose (-v) che stampa i file estratti nella finestra del terminale:

Estrarre il file .tar.gz nella directory di lavoro corrente e stampare l’output:

tar -xvf filename.tar.gz

Anche in questo caso, i comandi precedenti estraggono nella directory di lavoro corrente per impostazione predefinita. Puoi utilizzare l’opzione -C per estrarre in una directory diversa (in questo caso, /home/user/files).

Estrarre il file .tar.gz in un’altra directory di lavoro:

tar -xf filename.tar.gz -C /home/user/files

Estrarre solo File o Directory Specifiche da .tar.gz in Linux

Il comando tar supporta anche l’estrazione di file o directory specifiche da un file .tar.gz. È sufficiente aggiungere un elenco separato da spazi dei file che si desidera estrarre.

Estrarre file1 e directory1 dal file .tar.gz nella directory di lavoro corrente:

tar -xf filename.tar.gz file1 directory1

È importante notare che questo comando darà un errore se non si specifica il nome esatto del file .tar. Come vedremo nella prossima sezione, è possibile verificare i nomi dei file elencando i contenuti con il comando tar -tf filename.tar.gz.

È anche possibile utilizzare --wildcards per estrarre tutti i file con una determinata estensione o nome.

Estrarre tutti i file che terminano con “.txt” dal file .tar.gz:

tar -xf filename.tar.gz --wildcards '*.txt'

Decomprimere .tar.gz da stdin in Linux

È anche possibile estrarre .tar.gz direttamente dal flusso di input standard (stdin) inviandolo al comando tar utilizzando l’opzione di decompressione (-z).

Ad esempio, se si vuole estrarre il file .tar.gz che si trova all’indirizzo “https://kinsta.com/filename.tar.gz” (in realtà non c’è un file .tar.gz qui, ma seguiteci), è necessario usare il comando wget e inviarlo a tar.

Estrarre un file .tar.gz da un URL:

wget -c https://kinsta.com/filename.tar.gz -O - | sudo tar -xz

Elencare il contenuto di un file .tar.gz in Linux

Spesso è utile elencare il contenuto di un file .tar.gz senza dover decomprimere l’intero archivio. L’opzione -list (-t) produce un elenco di nomi di file.

Elencare il contenuto di un file .tar.gz:

tar -tf filename.tar.gz

Si può anche aggiungere l’opzione di output verbose (-v) per fornire elenchi dettagliati, comprese le date, i titoli/permessi e altro ancora.

Elenco dettagliato dei contenuti di un file .tar.gz:

tar -tvf filename.tar.gz

Molte utility di compressione offrono anche dei comandi per elencare il contenuto dei file compressi. Ad esempio, gzip permette di elencare il contenuto di un file .gz con il seguente comando:

Elencare il contenuto dettagliato di un file .gz con gzip:

gzip -l filename

Comprimere e Decomprimere .tar e .tar.gz in Linux con gzip

È possibile creare file .tar compressi utilizzando utility di compressione come gzip. Gzip è una delle opzioni più popolari e disponibili, soprattutto perché è integrata nella maggior parte delle distribuzioni Linux e macOS.

Nel terminale, navigate nella directory di lavoro del file .tar che volete comprimere e inserite il seguente comando:

Comprimere il file .tar con gzip:

gzip filename.tar

Potete facilmente decomprimere il file .tar.gz ottenuto con l’opzione decomprimere (-d).

Decomprimere il file .tar.gz con gzip:

gzip -d filename.tar

Se volete mantenere il file originale dopo la compressione, ci sono due opzioni. La prima è l’opzione -k, mentre l’altra utilizza l’opzione -c per produrre il file compresso in un file diverso, conservando l’originale.

Comprimere il file .tar e mantienere la copia originale:

gzip -c filename.tar

Comprimere il file .tar e lo archivia come file diverso:

gzip -c filename.tar > newfilename.tar.gz

Come l’utility tar, anche gzip ti permette di comprimere e decomprimere più file o intere directory alla volta.

Comprimere più file:

gzip file1 file2

Decomprimere più file:

gzip -d file1 file2

Comprimere tutti i file di una directory:

gzip -r directory1

Decomprimere tutti i file di una directory:

gzip -dr directory1

Come si Decomprime un File .tar.gz in Windows 10?

Come Linux e macOS, anche il sistema operativo Windows 10 include l’utility tar.

A differenza della comoda interfaccia grafica (GUI) di Windows per decomprimere i file .zip, dovrete utilizzare l’utility tar tramite la riga di comando. Tuttavia, esistono anche molti strumenti di terze parti che si possono installare per ottenere un’esperienza più semplice.

Utilizzare la Riga di Comando (cmd)

Per accedere alla riga di comando di Windows, cercate “prompt dei comandi” o “cmd” nella barra di ricerca. Cliccate con il tasto destro del mouse sul primo risultato e selezionate l’opzione “Esegui come amministratore”.

L'icona del prompt dei comandi dopo aver cercato
L’icona del prompt dei comandi dopo aver cercato “cmd” in Windows 10/11

Con il prompt dei comandi aperto, utilizzate i comandi appropriati per cambiare la directory di lavoro corrente (cd) nella posizione del file .tar.gz che desiderate decomprimere. In alternativa, potete anche specificare un percorso del file di origine e di destinazione quando utilizzate l’utility tar.

Digitate uno dei seguenti comandi e premete “Invio”.

Estrarre il file .tar.gz nella directory di lavoro corrente:

tar -xvzf filename.tar.gz

Estrarre il file .tar.gz dal percorso di origine a quello di destinazione:

tar -xvzf C:\PATH\TO\SOURCE\filename.tar.gz -C C:\PATH\TO\DESTINATION

È bene notare che l’utility tar in Windows ha quasi la stessa sintassi di quella di Linux e macOS. Qui abbiamo utilizzato le opzioni extract (-x), verbose (-v), decompress with gzip (-z) e file (-f) per un’estrazione completa con decompressione e output dettagliato.

Utilizzare Strumenti di Terze Parti

Se usare la riga di comando non è proprio il vostro forte, esistono molti strumenti di facile utilizzo per decomprimere i file tar.gz.

Comprimere un gran numero di file in uno .zip usando 7-Zip
Comprimere un gran numero di file in uno .zip usando 7-Zip

Sebbene ci siano molti strumenti tra cui scegliere, i più popolari sono 7-Zip e WinZip. Pur essendo leggermente diversi, sono piuttosto leggeri e offrono un’alternativa molto più semplice rispetto all’utilizzo della riga di comando.

Alcuni strumenti di terze parti offrono anche una maggiore flessibilità nella conversione tra i vari tipi di file, consentendo di risparmiare tempo se si desidera passare da un formato di compressione all’altro. Molti sono disponibili anche per Linux e macOS.

Opzioni di compatibilità di 7-Zip tra cui .tar e .gz.
Opzioni di compatibilità di 7-Zip tra cui .tar e .gz.

Tuttavia, mentre strumenti come 7-Zip sono gratuiti, molte soluzioni più “robuste” sono disponibili a pagamento solo dopo un periodo di prova. Di conseguenza, vi consigliamo di affidarvi a strumenti gratuiti (ma affidabili) o di utilizzare semplicemente la riga di comando.

Risoluzione degli Errori più Comuni

Non tutte le estrazioni .tar.gz avvengono senza problemi, soprattutto se si utilizza la riga di comando!

Mentre i comandi hanno poco, o per meglio dire nessuno, spazio per errori di battitura o omissioni, molti errori comuni sono il risultato di piccoli errori, errori ortografici o formati errati. Fortunatamente, a meno che non manchi l’utility tar o gzip, la maggior parte degli errori comuni sono molto facili da risolvere.

tar: README: Non Trovato nell’Archivio

Questo errore si verifica quando si cerca di estrarre file o directory specifiche da un file .tar.gz utilizzando tar.

Errore di input:

tar -xf filename.tar.gz FILE

Errore Output:

tar: FILE: Not found in filename
tar: Exiting with failure status due to previous errors

In questo esempio, l’utente ha cercato di estrarre il file intitolato “FILE” da filename.tar.gz. Tuttavia, tar non è riuscito a trovare FILE all’interno di .tar.gz, il che significa che l’utente ha sbagliato il nome o che il file semplicemente non esiste in nomefile.tar.gz. Un’altra causa comune di errori è la sensibilità alle maiuscole e minuscole, in quanto Linux considera “FILE” e “file” come due entità separate.

Soluzione: Controllate l’ortografia e/o verificate che il file esista nell’archivio .tar.gz elencandone il contenuto con tar -tf filename.tar.gz.

tar: L’archivio è compresso. Usare l’opzione -z

Questo errore si verifica quando si cerca di decomprimere un file senza specificare un’utilità di decompressione, in particolare -z per gzip.

Errore di input:

wget -c https://kinsta.com/filename.tar.gz -O - | sudo tar -x

Da notare che qui manca la dicitura “-z” in quello che dovrebbe essere sudo tar -xz all’estrema destra.

Errore di output:

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

Soluzione: Specificare un’opzione di decompressione come gzip (-z) nel comando tar.

gzip: stdin: non in formato gzip

Molti utenti riferiscono di aver eseguito i comandi “giusti” per poi scoprire che il loro .tar.gz non è “in formato gzip”, nonostante l’estensione .gz.

Output di errore:

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error exit delayed from previous errors

Questo errore si verifica solitamente quando un .tar è stato salvato come .gz nonostante non sia mai stato compresso con l’utility gzip. Può sembrare un errore stupido, ma è sorprendentemente comune in situazioni in cui gli utenti rinominano direttamente i file e le loro estensioni (come .tar e .gz) durante il processo.

Soluzione: Trovare una nuova copia del file .tar.gz o semplicemente estrarlo come file .tar usando tar -xf filename.tar. Se anche questo comando restituisce un errore, la soluzione successiva potrebbe essere utile.

tar: Formato archivio non riconosciuto

Simile all’errore precedente, questo errore si verifica quando un archivio è stato salvato come .tar pur non essendo un archivio .tar.

Output dell’errore:

tar: Unrecognized archive format
tar: Error exit delayed from previous errors.

Soluzione: Trovare una nuova copia del file .tar o .tar.gz, oppure provare a estrarre con gunzip filename.tar.gz . Se il comando gunzip non funziona, provare a elencare il contenuto con l’output verbose con tar -xvf filename.tar.gz e verificare se è un file specifico a causare il problema. Tuttavia, è più probabile che il file non sia mai stato correttamente zippato come file .tar.

Domande Frequenti

È facile confondersi quando si naviga tra i file .tar, .tar.gz e .gz, per non parlare dello zipparli e decomprimerli. Ecco alcune domande frequenti che ci vengono poste dagli utenti che lavorano con i file .tar.gz.

Come si Apre un File .tar.gz?

È possibile aprire la maggior parte dei file .tar.gz utilizzando il comando tar integrato in Linux, macOS e Windows 10. Se non ci si sente a proprio agio con il terminale o la riga di comando, strumenti di terze parti come 7-Zip offrono un’alternativa più semplice da usare.

Il File .gz è un File .tar?

Mentre ogni file tar.gz è un archivio .tar, non tutti i .gz sono file .tar. L’estensione .gz rappresenta il formato di compressione gzip, che può essere applicato a quasi tutti i formati di file per comprimere i dati e risparmiare spazio.

Il .tar.gz è Uguale al .zip?

Anche se sia .zip che .tar.gz archiviano e comprimono i file, lo fanno in modi diversi. Mentre .zip archivia e comprime singoli file, .tar archivia solo singoli file, lasciando a un formato di compressione separato come .gz (gzip) il compito di comprimerli tutti come un unico file/archivio. In altre parole, .zip è un insieme di file compressi, mentre .tar.gz è un insieme compresso di file.

.tar.gz è Più Efficiente di .zip?

Sì. Poiché .tar.gz comprime più file contemporaneamente, può sfruttare le somiglianze tra i singoli file per risparmiare spazio. In generale, un insieme di file archiviati e compressi come .tar.gz sarà più efficiente dal punto di vista dello spazio (cioè più piccolo) rispetto allo stesso insieme compresso come .zip.

Riepilogo

Con Linux, macOS e Windows 10 che offrono un’utilità tar integrata, è più facile che mai decomprimere i file tar.gz tramite la riga di comando. Di solito, l’unico comando di cui si avrà bisogno è:

tar -xvzf filename.tar.gz

Come molti altri formati di archivio e compressione, .tar.gz è un modo efficace per risparmiare spazio di archiviazione e facilitare l’invio di grandi quantità di dati. Se avete intenzione di distribuire e archiviare file .tar.gz sul vostro sito web, i servizi di hosting gestito di Kinsta possono aiutarvi a sfruttare al meglio il vostro spazio.

Per maggiori informazioni e per programmare una demo live, contattate oggi stesso un esperto di hosting di Kinsta.