Comando unxz in Linux: decomprimere .xz e conservare il compresso
unxz decomprime i file .xz e normalmente rimuove il compresso dopo aver ripristinato il file. Usa -k per mantenere anche l’input oppure -c per scrivere i dati decompressi allo standard output.
Il comando equivale a xz -d. Se parti da dump.sql.xz, ottieni dump.sql; se parti da backup.tar.xz, rimane invece un archivio tar, i cui membri vanno estratti separatamente. La guida a xz spiega come preparare e verificare il compresso.
Sintassi e condizioni iniziali
unxz [options] file.xz [file.xz...]
Sostituisci i segnaposto con opzioni e percorsi reali. Controlla unxz --version e man unxz sul sistema in uso. Prepara un compresso leggibile, spazio sufficiente per il ripristino e una directory scrivibile. Il file decompresso può occupare molto più spazio dell’input.
Gli esempi seguenti sono alternative. Riparti da una copia del compresso e da un nome di uscita libero per confrontarli: il comando normale elimina l’input dopo il successo, mentre -k lascia anche un output che può impedire la prova successiva. Se il nome di destinazione esiste già, XZ normalmente segnala un errore e salta il file; controlla le copie prima di scegliere un’altra directory o un altro nome.
Ripristino normale e conservazione del compresso
Ripristino normale. Questo comando ricrea dump.sql e, dopo il successo, rimuove normalmente dump.sql.xz:
unxz dump.sql.xz
Mantenere anche l’input. Con -k rimangono sia il compresso sia il risultato:
unxz -k dump.sql.xz
Non usare automaticamente -f per superare un conflitto: può eliminare un file di destinazione esistente. Conserva una copia valida dell’input fino a quando hai controllato il ripristino, specialmente se il contenuto è importante.
Anteprima di testo tramite standard output
Con -c il compresso rimane e i dati decompressi vengono inviati allo standard output. Se sai che il contenuto è testo, puoi mostrarne l’inizio con head:
unxz -c notes.txt.xz | head
Head mostra normalmente le prime dieci righe e poi chiude la pipe. Il comando è utile per un’anteprima senza creare il file completo, ma non dimostra che l’intero flusso sia integro: unxz può fermarsi prima della fine e segnalare un errore di scrittura perché il destinatario ha chiuso la pipe. Il successo di head non equivale al successo della decompressione completa.
Per controllare tutto il compresso usa xz -t notes.txt.xz e valuta subito lo stato di uscita. Evita di inviare dati binari o enormi quantità di testo direttamente al terminale; scegli un file di uscita controllato o un programma adatto al contenuto.
Salvare con un altro nome e verificare il risultato
Per questo esempio prepara un note.txt.xz contenente testo noto, per esempio comprimendo una copia di prova con xz, e assicurati che restored.txt non esista. La redirezione salva l’output mentre il compresso rimane:
unxz -c note.txt.xz > restored.txt
ls -l restored.txt
Unxz normalmente termina senza messaggi quando riesce. Ls mostra il nome, la dimensione e altri attributi del file; valori e impaginazione dipendono dall’ambiente. L’elenco non confronta i dati e non dimostra che il ripristino sia completo.
In una shell POSIX puoi leggere lo stato con echo $? subito dopo unxz, prima di ls o di altri comandi. In XZ, 0 indica successo, 1 un errore e 2 un avvertimento senza errori veri e propri. Dopo ls lo stato riguarda ls. Se compare un errore, non trattare un eventuale file parziale come un risultato valido.
La shell può troncare restored.txt prima che unxz inizi: la protezione di XZ contro gli output esistenti non protegge la redirezione. Scegli un nome nuovo e non usare lo stesso percorso per input e output. Confronta il ripristinato con la sorgente corretta, per esempio byte per byte; un valore di controllo, o checksum, è utile se viene confrontato con quello della copia valida usando lo stesso metodo.
In una prova locale del 3 novembre 2026 con unxz di XZ Utils 5.8.3 per Git for Windows, il ripristino normale ha ricreato i byte attesi rimuovendo il compresso; -k e -c lo hanno conservato. Sono stati verificati anche l’esempio restored.txt, il test completo silenzioso, il rifiuto di un output già presente e il solo ripristino del tar senza estrarre i membri. Su un testo più lungo, head ha mostrato dieci righe e unxz ha restituito stato 1 dopo la chiusura della pipe, mentre head aveva stato 0. Queste prove Windows non verificano metadati Linux, sicurezza di dati non affidabili o prestazioni.
Opzioni principali
| Opzione | Funzione e limite |
|---|---|
-k |
Conserva il file compresso di input. |
-c |
Invia i dati decompressi allo standard output e conserva l’input. |
-t |
Verifica l’integrità del compresso senza creare un file ripristinato. |
-f |
Può eliminare un file di destinazione esistente prima del ripristino. |
-v |
Mostra informazioni più dettagliate sull’elaborazione. |
Archivi tar.xz, errori e script
Unxz rimuove lo strato di compressione da backup.tar.xz, lasciando backup.tar senza creare automaticamente le directory interne. Con tar puoi prima elencare i membri del compresso con tar -tJf backup.tar.xz e poi estrarli con tar -xJf, specificando l’archivio e una destinazione controllata. Se hai già il tar decompresso, usa invece tar -xf backup.tar dopo averne verificato i percorsi.
Se il ripristino fallisce, leggi il messaggio e controlla spazio, permessi, destinazione e integrità dell’input. Riparti da una copia valida in una directory separata invece di forzare sovrascritture. La decompressione riuscita non dimostra autenticità o sicurezza del contenuto: non eseguirlo automaticamente.
Per gli script, il manuale ufficiale raccomanda il nome xz con l’operazione esplicita, ad esempio xz -d o xz -dc, al posto degli alias unxz e xzcat. Controlla lo stato di ogni operazione prima di usare il risultato.
Domande frequenti
Che cosa rimane dopo unxz backup.tar.xz?
Rimane normalmente backup.tar. I membri interni vanno poi estratti con tar in una destinazione controllata; in alternativa tar può leggere direttamente il tar.xz.
Vedere le prime righe con head conferma il ripristino?
No. È soltanto un’anteprima che può interrompersi prima della fine. Verifica il compresso completo con xz -t e confronta i dati ripristinati con una sorgente valida quando il contenuto è importante.
Documentazione ufficiale
Il manuale ufficiale di XZ e unxz descrive alias, opzioni e stati di uscita. Consulta anche il manuale della versione installata.




