Comando unzip in Linux: elencare, verificare ed estrarre file ZIP
unzip elenca, verifica ed estrae i file contenuti in un archivio ZIP. Prima di estrarre, controlla i percorsi interni e scegli una directory di destinazione separata per ridurre conflitti e sovrascritture.
Senza opzioni estrae nella directory corrente. Usa -l per l’elenco, -t per il test dei dati e -d per la destinazione. -n salta i file già presenti; -o li sovrascrive senza conferma, quindi richiede particolare attenzione. Per creare il pacchetto di partenza consulta la guida a zip.
Sintassi e preparazione
unzip [Options] Archive.zip [-d target directory]
Sostituisci i segnaposto con opzioni e percorsi reali; un percorso con spazi va racchiuso fra virgolette. Gli esempi si riferiscono a Info-ZIP UnZip 6.00: controlla unzip -v e man unzip nella distribuzione. Se il programma manca, verifica il pacchetto appropriato nel gestore di pacchetti del sistema.
Prepara un archivio noto, una directory scrivibile e spazio sufficiente per i dati decompressi. Non presumere che le dimensioni del ZIP corrispondano a quelle del contenuto estratto. Mantieni l’archivio originale finché hai verificato il risultato e usa il percorso corretto dalla directory in cui lavori.
Elencare, estrarre e gestire i conflitti
Controllare l’elenco. Prima di scrivere file sul disco, osserva nomi, percorsi e dimensioni non compresse:
unzip -l project.zip
Verifica che i membri siano quelli attesi. L’elenco descrive l’archivio, ma non esegue un controllo completo dei dati e non dimostra che il contenuto sia sicuro.
Estrarre in una destinazione separata. Prima di usare l’esempio, assicurati che restore sia un nome nuovo oppure una directory realmente vuota:
mkdir -p restore
unzip project.zip -d restore/
mkdir -p crea la directory se manca, ma non la svuota se esiste già. Se contiene dati, scegli un nome diverso prima di procedere. Unzip ricrea sotto la destinazione anche le directory interne, quindi un membro project/readme.txt diventa normalmente restore/project/readme.txt.
Conservare i file esistenti. Se devi estrarre nella stessa destinazione senza sostituire i file con lo stesso nome, usa -n:
unzip -n project.zip -d restore/
I file già presenti vengono saltati senza richiesta; quelli mancanti possono essere creati. Questo non produce necessariamente una copia identica dell’archivio, perché le versioni esistenti rimangono. Senza -n o -o, UnZip normalmente chiede come gestire i conflitti. Non scegliere -o soltanto per eliminare le domande: può cancellare modifiche che desideri conservare.
Leggere soltanto i nomi e verificare l’integrità
Per stampare un nome per riga, senza estrarre, usa la modalità ZipInfo con -Z come prima opzione:
unzip -Z -1 bundle.zip
Per esempio, se bundle.zip contiene questi due membri, l’output sarà:
docs/readme.txt
images/logo.png
I nomi dipendono dal tuo archivio. Prima dell’estrazione controlla percorsi assoluti, componenti che risalgono di directory come ../, nomi inattesi e possibili collisioni. Per un ZIP non affidabile, una cartella separata aiuta a organizzare il lavoro ma non costituisce da sola un isolamento di sicurezza.
Per verificare i dati, esegui unzip -t bundle.zip. Il programma decomprime i membri in memoria e confronta il CRC, cioè il valore di controllo ciclico, con quello registrato nell’archivio, senza creare i file estratti. Controlla messaggi e stato di uscita prima di avviare altro: 0 indica un completamento senza errori o avvertimenti; uno stato diverso richiede di leggere la diagnostica. Il semplice elenco dei nomi non sostituisce questo test.
Un test riuscito non prova autenticità, assenza di codice pericoloso o correttezza dei documenti. Per verificare il ripristino, puoi estrarre in una nuova directory con unzip bundle.zip -d restored-bundle e confrontare i file con una sorgente valida, byte per byte o mediante checksum calcolati con lo stesso metodo. Non confrontare soltanto i nomi o le dimensioni.
In una prova locale del 3 novembre 2026 con UnZip 6.00 di Git for Windows, sono stati verificati elenco e nomi, test senza file estratti, ripristino di byte noti e conservazione di un file già modificato con -n. Sono stati confermati anche il rifiuto di una sovrascrittura alla richiesta interattiva, -o su soli file di prova e il rilevamento di un CRC errato in una copia alterata. Queste prove Windows non verificano permessi o proprietari Linux, collegamenti simbolici, sicurezza dei percorsi, archivi ostili o compatibilità dei nomi fra sistemi.
Opzioni principali
| Opzione | Funzione e limite |
|---|---|
-l |
Elenca nomi, dimensioni non compresse e date dei membri. |
-t |
Verifica i dati e il CRC senza creare i file estratti. |
-d directory |
Imposta la destinazione; non garantisce che sia vuota. |
-n |
Salta i file già esistenti senza sovrascriverli. |
-o |
Sovrascrive i file esistenti senza chiedere conferma. |
Archivi sconosciuti e problemi di estrazione
Non estrarre un ZIP non affidabile con privilegi di amministratore. Controlla la provenienza, i percorsi, gli eventuali collegamenti simbolici e lo spazio disponibile; per materiali sospetti usa un ambiente isolato adatto, senza confondere una semplice directory con una sandbox. Evita la sovrascrittura automatica e non eseguire subito programmi o script appena estratti.
Se trovi errori CRC, membri illeggibili o risultati incompleti, conserva l’archivio e i messaggi e procurati una copia valida dalla fonte. Per nomi non leggibili, metodi non supportati o archivi cifrati, verifica la compatibilità della versione e del programma usato dal mittente. Non passare casualmente a opzioni di conversione del testo: potrebbero cambiare i byte di file che devono rimanere identici.
Per annullare una prova, elimina soltanto la directory di estrazione che hai creato e verificato per quel test, dopo aver controllato che non contenga altri dati. Se hai già sovrascritto file importanti, l’archivio non ripristina automaticamente le loro vecchie versioni: serve una copia precedente.
Domande frequenti
Come estrarre senza modificare i file già presenti?
Scegli preferibilmente una directory nuova e vuota. Se devi usare una directory esistente, -n salta i file con lo stesso nome; controlla poi quali membri sono stati effettivamente estratti.
unzip -t garantisce che un ZIP sia sicuro?
No. Controlla i dati e il CRC dell’archivio, ma non garantisce provenienza o sicurezza del contenuto e non sostituisce la valutazione dei percorsi e della destinazione.
Documentazione ufficiale
Il manuale di UnZip 6.0 distribuito da Ubuntu 24.04 descrive opzioni, comportamento sui conflitti e diagnostica. Confrontalo con il manuale della versione installata sul tuo sistema.




