Comando gunzip in Linux: decomprimere file .gz e conservarli

gunzip decomprime i file .gz prodotti con gzip. Normalmente sostituisce il file compresso con quello decompresso: usa -k oppure -c se devi conservare anche il .gz.

In GNU gzip, gunzip corrisponde alla decompressione eseguita con gzip -d. Se il file è .tar.gz, rimuovere soltanto lo strato gzip lascia un archivio .tar; per ottenere le directory e i file contenuti serve poi l’estrazione con tar.

Sintassi e preparazione

gunzip [options] file.gz [file.gz...]

Sostituisci i segnaposto con i file reali. Verifica la versione con gunzip --version e le opzioni con man gunzip: questi esempi usano GNU gzip, mentre altre implementazioni possono avere differenze.

Prepara un file di prova report.log.gz leggibile, spazio per il risultato e permesso di scrittura nella directory di destinazione. Controlla che report.log e restored-report.log non siano file esistenti da conservare. Se ti serve creare il compresso, segui gli esempi di gzip con conservazione dell’originale.

I tre esempi seguenti sono alternative. Non eseguirli uno dopo l’altro sullo stesso input senza ripristinare le condizioni iniziali: il primo elimina normalmente il compresso, mentre il secondo lascia un file di uscita che potrebbe entrare in conflitto con una prova successiva.

Scegliere come decomprimere

Ripristino normale. Se il nome di destinazione è disponibile, questo comando crea report.log e, dopo il successo, rimuove normalmente report.log.gz:

gunzip report.log.gz

Conserva il compresso. Con -k ottieni il file decompresso mantenendo anche l’input, utile se vuoi poter ripetere una verifica o trasferire ancora il .gz:

gunzip -k report.log.gz

Salva con un altro nome. -c invia i dati decompressi allo standard output e mantiene il compresso; la shell li salva nel file indicato dalla redirezione:

gunzip -c report.log.gz > restored-report.log

Controlla la destinazione prima di premere Invio: > può svuotare un file esistente prima ancora che gunzip legga correttamente l’input. Non indicare come uscita lo stesso file compresso. Un nuovo file presente sul disco non basta a dimostrare il successo: dopo un errore potrebbe essere vuoto o parziale.

Se un file di uscita esiste già, il programma può chiedere conferma o rifiutare la sostituzione secondo il contesto. Scegli un nome nuovo o una directory di prova vuota; non usare automaticamente -f per superare l’avviso.

Verificare il risultato

Per provare il blocco seguente, lavora in una directory separata e prepara note.txt.gz da un piccolo note.txt, per esempio contenente hello seguito da un ritorno a capo. Usa la normale compressione gzip note.txt su quel file sacrificabile: prima della decompressione deve esistere il .gz e il nome note.txt deve essere libero.

gunzip note.txt.gz
ls -l note.txt

Gunzip normalmente è silenzioso quando riesce. ls mostra il file ricreato, ma non ne controlla il contenuto: apri il testo o confrontane i byte con la sorgente attesa. Le colonne di ls, la data e il proprietario dipendono dall’ambiente.

Per isolare lo stato di gunzip, controlla subito il suo codice di uscita con echo $? in una shell POSIX, prima di eseguire ls o altro. In GNU gzip 0 indica successo, 1 errore e 2 avviso da esaminare. Dopo ls, lo stesso controllo descrive invece ls, non il comando precedente.

Prima della decompressione puoi usare gunzip -t note.txt.gz per verificare l’integrità senza creare il file di uscita. Il controllo non dimostra provenienza o autenticità né che il contenuto sia la versione che desideravi. Se vuoi mantenere il compresso e scegliere un nome diverso, gunzip -c note.txt.gz > newfile segue lo stesso schema già illustrato, purché newfile sia una destinazione sicura.

In una prova locale del 3 novembre 2026 con gunzip di GNU gzip 1.14 di Git for Windows, il ripristino normale ha ricreato i byte attesi rimuovendo il compresso; -k e -c lo hanno conservato. Sono stati controllati anche -t, -l e il piccolo esempio note.txt. La decompressione di un archivio tar.gz di prova ha lasciato soltanto il tar, senza estrarne i membri. Questi controlli su Windows non verificano il ripristino dei metadati di Linux o la sicurezza di file di provenienza incerta.

Opzioni principali

Opzione Funzione e limite
-k Mantiene il file compresso di input durante la decompressione.
-c Scrive i dati ripristinati sullo standard output e mantiene l’input. La redirezione della shell richiede una destinazione controllata.
-t Controlla l’integrità senza creare il risultato decompresso sul disco.
-l Mostra informazioni come dimensioni e rapporto di compressione; non sostituisce un confronto del contenuto.
-f Forza operazioni anche in casi che richiedono cautela, tra cui l’output già esistente. Può consentire una sovrascrittura senza conferma.

Tar.gz, spazio e file parziali

Un normale .gz rappresenta dati compressi, non automaticamente un insieme di file con una struttura di directory. Su backup.tar.gz, gunzip rimuove lo strato di compressione e lascia normalmente backup.tar. Per elencare i membri puoi usare tar -tzf backup.tar.gz; per estrarli direttamente dal compresso usa l’operazione tar -xzf con archivio e destinazione scelti secondo la guida a tar.

La dimensione decompressa può essere molto maggiore di quella del file ricevuto. Prepara spazio sufficiente e non trattare i dati di -l come garanzia che qualunque input rientri nelle risorse disponibili. Non aprire né eseguire automaticamente ciò che hai decompresso: il successo di gunzip non rende affidabile il contenuto.

Se la decompressione fallisce, conserva una copia valida del compresso e non considerare completo l’eventuale output parziale. Verifica spazio, permessi e messaggi; poi riprova in una destinazione separata. Evita di cancellare copie utili finché non hai confermato il risultato.

Domande frequenti

gunzip backup.tar.gz estrae tutti i file?

No. Rimuove la compressione gzip e normalmente lascia backup.tar. I membri interni devono essere estratti con tar, che può anche leggerli direttamente dal tar.gz.

Come mantengo il file .gz originale?

Usa -k per conservarlo accanto al risultato, oppure -c per scrivere i dati allo standard output e salvarli con un altro nome. In entrambi i casi controlla prima eventuali file di destinazione esistenti.

Documentazione di riferimento

Il manuale di GNU gzip comprende anche la decompressione con gunzip. Puoi consultarlo sul sistema con man gunzip; il sorgente doc/gzip.texi è incluso nell’archivio sorgente ufficiale GNU gzip 1.15, scaricabile come tar.xz. Controlla le opzioni effettivamente disponibili nella tua installazione.