Come comprimere ed estrarre file su Ubuntu (zip, tar.gz, tar.xz) — Comandi, interfaccia grafica e risoluzione dei problemi

目次

1. Conoscenze di base sulla compressione e l’estrazione su Ubuntu

Gli scopi principali dell’esecuzione della “compressione” su Ubuntu sono i seguenti tre:

  • Ridurre le dimensioni dei file per risparmiare spazio di archiviazione
  • Raggruppare più file in uno solo per l’invio e la condivisione
  • Creare backup e archivi (un insieme confezionato per l’archiviazione)

Su Ubuntu, l’operazione da riga di comando (Terminale) è lo standard. Puoi anche farlo tramite GUI (gestore file), ma nel lavoro reale e negli ambienti server, l’uso della riga di comando è la norma.

Il primo punto chiave da capire è che “compressione” e “archiviazione” sono concetti diversi.

1.1 La differenza tra compressione e archiviazione

Questo è il punto che la maggior parte dei principianti trova confuso.

  • Compressione → Elaborazione che riduce le dimensioni dei dati Esempi: gzip, bzip2, xz
  • Archivio → Elaborazione che raggruppa più file e cartelle in un unico file Esempio: tar

Un fatto importante

Il comando tar non è “compressione”.
In senso stretto, è un comando che “raggruppa solo”.

Se vuoi comprimere allo stesso tempo, lo combini con gzip o xz.

Example:

tar -czvf archive.tar.gz folder/

Significato:

  • c = crea
  • z = compressione gzip
  • v = output verboso (mostra gli elementi elaborati)
  • f = specifica il nome del file di output

1.2 Formati di compressione comuni su Ubuntu

I seguenti formati sono comunemente usati su Ubuntu.

FormatFeaturesMain use
zipHigh Windows compatibilitySharing with other OSes
tar.gzLinux standard formatGeneral-purpose compression
tar.bz2Higher compression than gzipPrioritize smaller size
tar.xzVery high compressionLarge datasets

Come scegliere

  • Condividi con Windows → zip
  • Rimani su Linux → tar.gz
  • La dimensione è la priorità principale → tar.xz

1.3 Comandi di base da verificare prima di comprimere

Verifica la directory corrente:

pwd

Elenca i file:

ls -l

Verifica la dimensione:

du -sh folder/

Problemi comuni

  • Eseguire comandi senza verificare la directory corrente e creare file in una posizione inaspettata
  • Digitare erroneamente un percorso relativo (es., ../folder )
  • Saltare il controllo della dimensione prima di comprimere e finire lo spazio su disco

1.4 Idee sbagliate comuni e avvertenze

1. Immagini e video non si comprimono molto

Poiché JPEG e MP4 sono già formati compressi, le loro dimensioni di solito non si riducono molto.

2. tar da solo non riduce le dimensioni

Il seguente “raggruppa solo”.

tar -cvf archive.tar folder/

La dimensione sarà quasi la stessa.

3. I file grandi aumentano il carico CPU

L’uso della CPU può aumentare, specialmente quando si usa xz.

4. Attenzione agli errori di permesso

Se gestisci directory di sistema, avrai bisogno di sudo.

2. Come comprimere ed estrarre in formato zip su Ubuntu

Il formato zip offre la migliore compatibilità quando si scambiano file tra Ubuntu e Windows.
Molti utenti che cercano “ubuntu compression” cercano prima il zip.

Su Ubuntu, usi i comandi zip e unzip.
Prima, verifica se sono installati.

2.1 Verifica se zip è installato

Puoi verificare con il seguente comando:

zip -v

Se ottieni un errore, installalo:

sudo apt update
sudo apt install zip unzip

Errori comuni

  • Impossibile estrarre perché unzip non è installato
  • Dimenticare sudo e ricevere “Permission denied”

2.2 Come comprimere file con zip

Comprimi un singolo file:

zip sample.zip file.txt

Risultato:

  • Viene creato sample.zip
  • Il file originale non viene eliminato

Comprimi più file insieme

zip sample.zip file1.txt file2.txt

2.3 Come comprimere una cartella (Importante)

Quando comprimi una cartella, è necessaria l’opzione -r (ricorsiva).

zip -r sample.zip folder/

Se ometti -r, i file all’interno della cartella non verranno compressi.

Problemi comuni

  • Dimenticare -r
  • Digitare erroneamente un percorso relativo
  • Avere l’ordine del comando sbagliato (il nome del file di output deve venire per primo)

Ordine corretto:

zip -r output.zip target_folder

2.4 Come estrarre un file zip

Comando base:

unzip sample.zip

Estrai in una cartella specificata:

unzip sample.zip -d extracted_folder

Note

  • Se la destinazione esiste già, ti verrà chiesto di confermare la sovrascrittura
  • Se esistono file con lo stesso nome, potrebbero essere sovrascritti
  • Se il percorso contiene spazi, racchiudilo tra virgolette

Esempio:

unzip "sample file.zip"

2.5 Crea un file zip protetto da password

Puoi crittografarlo per motivi di sicurezza.

zip -e secure.zip file.txt

Ti verrà chiesto di inserire una password.

Note

  • La crittografia zip non è molto forte (non adatta per usi ad alta sicurezza)
  • Perdere la password = difficile da recuperare

2.6 Controlla dimensione e rapporto di compressione

Mostra le informazioni del file zip:

unzip -l sample.zip

Confronta con la dimensione originale:

ls -lh

Perché il rapporto di compressione potrebbe essere basso

  • Immagini/video sono già compressi
  • Testi e log di solito si comprimono bene

3. Come comprimere con tar.gz (tgz) (Standard Linux)

Il formato più comunemente usato negli ambienti Linux è tar.gz.
È ampiamente usato su Ubuntu per la distribuzione del codice sorgente e i backup.

tar.gz è un processo a due passaggi:

  1. Raggruppa i file con tar (archivio)
  2. Comprimi con gzip

Comprendere questo meccanismo rende più semplice l’uso avanzato.

3.1 Comando base per creare un archivio tar.gz

Esempio: comprimi una cartella

tar -czvf archive.tar.gz folder/

Significato di ogni opzione:

  • c = crea
  • z = compressione gzip
  • v = dettagliato (mostra gli elementi elaborati)
  • f = file (specifica il nome del file di output)

File singolo

tar -czvf archive.tar.gz file.txt

File multipli

tar -czvf archive.tar.gz file1.txt file2.txt

3.2 Come estrarre un archivio tar.gz

Comando base:

tar -xzvf archive.tar.gz

Dettaglio delle opzioni:

  • x = estrai
  • z = decompressione gzip
  • v = mostra gli elementi estratti
  • f = specifica il file

Estrai in una directory specifica

tar -xzvf archive.tar.gz -C target_folder/

-C specifica la directory di destinazione.

3.3 Note importanti quando si usa tar

1. Controlla la struttura dei percorsi estratti

La struttura delle directory al momento della creazione viene preservata durante l’estrazione.

Esempio:

tar -czvf archive.tar.gz folder/

Quando estratto:

folder/
  └─ contents

Se vuoi “estrarre solo il contenuto”, devi regolare i percorsi quando crei l’archivio.

2. Attenzione alle sovrascritture accidentali

Se i file esistono già, potrebbero essere sovrascritti.
Per controllare in anticipo:

tar -tzvf archive.tar.gz

-t elenca il contenuto dell’archivio.

3. Spazio su disco insufficiente

La compressione può temporaneamente usare spazio aggiuntivo.
Controlla in anticipo:

df -h

3.4 Comprimi solo con gzip

Comprimi solo un singolo file:

gzip file.txt

Risultato:

file.txt.gz

Decomprimi:

gunzip file.txt.gz

Nota

  • gzip rimuove il file originale (lo sostituisce dopo la compressione)
  • Non adatto per raggruppare più file

3.5 Errori comuni

  • Confondere l’ordine delle opzioni
  • Dimenticare di mettere il nome del file dopo f
  • Mettere -C nella posizione sbagliata
  • Non capire che tar da solo non riduce la dimensione

4. Scegliere formati ad alta compressione (bz2 / xz)

Se vuoi ridurre la dimensione il più possibile, usa bzip2 (bz2) o xz, che tipicamente comprimono meglio di gzip.
Tuttavia, più alto è il rapporto di compressione, più alto è il carico CPU e più lungo tende a essere il tempo di elaborazione.

La linea guida di base è la seguente:

  • Priorità alla velocità → gzip
  • Priorità al rapporto di compressione → xz
  • Equilibrio → bzip2

4.1 Creare ed estrarre tar.bz2

Come comprimere

tar -cjvf archive.tar.bz2 folder/

Dettaglio delle opzioni:

  • c = crea
  • j = compressione bzip2
  • v = output dettagliato
  • f = specifica l’output

Come estrarre

tar -xjvf archive.tar.bz2

4.2 Creare ed estrarre tar.xz

xz è attualmente uno dei formati di compressione più elevati su Linux.

Come comprimere

tar -cJvf archive.tar.xz folder/

Nota: J deve essere maiuscola (importante).

Come estrarre

tar -xJvf archive.tar.xz

4.3 Differenze nel rapporto di compressione e nel tempo di elaborazione

Tendenze generali (variano a seconda dell’ambiente):

  • gzip → veloce, rapporto di compressione standard
  • bzip2 → compressione più alta rispetto a gzip, leggermente più lenta
  • xz → compressione molto alta, la più lenta

Controlla il carico CPU

top

È normale che l’uso della CPU aumenti quando si comprimono file di grandi dimensioni con xz.

4.4 Come scegliere nel lavoro reale

Per i backup

→ tar.xz (priorità alla dimensione più piccola)

Per l’archiviazione dei log del server

→ tar.gz (equilibrio)

Per trasferimenti temporanei

→ tar.gz o zip

4.5 Errori comuni e precauzioni

  • Digitare J in minuscolo e ottenere un errore
  • xz non installato su ambienti più vecchi
  • Il server diventa lento a causa del carico CPU
  • Esaurimento dello spazio durante la compressione

Se xz non è installato:

sudo apt install xz-utils

5. Come comprimere usando l’interfaccia grafica (File Manager)

Se non ti senti a tuo agio con le operazioni da riga di comando, puoi comprimere usando il file manager di Ubuntu (di solito “File” = Nautilus).
Negli ambienti desktop, questo è il metodo più semplice.

5.1 Passaggi per comprimere tramite click destro

Passaggi

  1. Seleziona il file o la cartella che vuoi comprimere
  2. Fai click destro
  3. Seleziona “Comprimi”
  4. Seleziona un formato wp:list /wp:list

    • .zip
    • .tar.xz
    • .7z (potrebbe apparire a seconda dell’ambiente) 5. Clicca “Crea”

Il file compresso viene creato nella stessa directory.

5.2 Come estrarre

Passaggi

  1. Fai click destro sul file compresso
  2. Seleziona “Estrai qui” o “Estrai in…”
  3. L’estrazione è completata

5.3 Verifica quando non puoi usare l’interfaccia grafica

Su ambienti con installazione minima o Ubuntu Server, l’interfaccia grafica non è disponibile.
In tal caso, devi usare le operazioni da riga di comando.

Verifica l’ambiente desktop:

echo $XDG_CURRENT_DESKTOP

Se non viene mostrato nulla, potresti non avere un ambiente GUI.

5.4 Note quando si usa l’interfaccia grafica

1. L’elaborazione può essere lenta per molti file

L’indicatore di avanzamento può essere difficile da comprendere.

2. Non è possibile specificare livelli di compressione dettagliati

Non è possibile impostare i livelli gzip nell’interfaccia grafica.

3. L’uso della CPU è difficile da vedere

Se il PC diventa lento durante l’elaborazione, potrebbe essere difficile capire il motivo.

4. Non adatto per l’uso su server

Non disponibile in ambienti basati su SSH.

5.5 Errori comuni

  • Selezionare un formato di compressione senza comprendere le differenze
  • Non controllare la destinazione e poi “perdere” i file estratti
  • Sovrascrivere file esistenti

6. Tecniche pratiche di compressione per il lavoro reale

Qui spieghiamo tecniche che si presentano frequentemente nel lavoro reale e nelle operazioni di server, oltre alla semplice compressione/estrazione.
Queste includono l’esclusione dei log, la compressione solo di estensioni specifiche e zip protetti da password—operazioni altamente pratiche.

6.1 Comprimere solo estensioni di file specifiche

Esempio: comprimere solo i file di log

tar -czvf logs.tar.gz *.log

Note

  • * (wildcard) è espanso automaticamente dalla shell
  • Targetizza solo i file nella directory corrente
  • Le sottocartelle non sono incluse

Per includere anche le sottocartelle:

find . -name "*.log" -print0 | tar --null -czvf logs.tar.gz --files-from=-

6.2 Escludere file specifici durante la compressione

Esempio: escludere file .log

tar --exclude="*.log" -czvf archive.tar.gz folder/

Escludere più pattern:

tar --exclude="*.log" --exclude="*.tmp" -czvf archive.tar.gz folder/

Errori comuni

  • Omettere le virgolette e far espandere il wildcard
  • Errore di battitura nel percorso di esclusione

6.3 Specificare il livello di compressione (gzip)

gzip consente di specificare il livello di compressione (1–9).

gzip -9 file.txt
  • 1 = veloce, compressione bassa
  • 9 = lento, compressione alta

Quando si specifica tramite tar:

tar -czvf archive.tar.gz folder/ --gzip -9

Nota: la sintassi può differire a seconda dell’ambiente.

6.4 Crea un file zip protetto da password

zip -e secure.zip file.txt

Per forzare la crittografia:

zip -P password secure.zip file.txt

Nota

  • -P non è consigliato perché rimane nella cronologia della shell
  • la crittografia zip non è molto forte (non adatta per usi ad alta sicurezza)

6.5 Dividi archivi (per file di grandi dimensioni)

Per dividere un archivio grande:

zip -r -s 100m split.zip folder/

Verrà diviso in parti da 100 MB.

Note

  • Tutte le parti divise sono necessarie per l’estrazione
  • Se manca o è corrotta una parte, il recupero non è possibile

6.6 Confronta le dimensioni prima e dopo la compressione

Prima della compressione:

du -sh folder/

Dopo la compressione:

ls -lh archive.tar.gz

Motivi comuni per un basso rapporto di compressione:

  • Dati già compressi come immagini/video
  • I dati crittografati si comprimono poco

7. Errori comuni durante la compressione e come risolverli

Durante la compressione/estrazione su Ubuntu, i principianti spesso incontrano errori comuni.
Ecco errori rappresentativi e soluzioni specifiche.

7.1 Errore “command not found”

Esempio:

zip: command not found

Causa

Il comando non è installato.

Soluzione

sudo apt update
sudo apt install zip unzip

Per gli strumenti correlati a tar:

sudo apt install xz-utils

7.2 “Permission denied”

Esempio:

tar: folder/file.txt: Cannot open: Permission denied

Causa

Permessi insufficienti per accedere al file o alla directory.

Soluzione

Verifica la proprietà:

ls -l

Usa sudo:

sudo tar -czvf archive.tar.gz folder/

Nota

Un uso eccessivo di sudo aumenta il rischio di sicurezza.

7.3 “No space left on device”

Esempio:

No space left on device

Causa

Spazio su disco insufficiente.

Come verificare

df -h

Rimuovi file non necessari:

sudo apt clean

Controlla l’utilizzo del disco:

du -sh *

7.4 Nomi file illeggibili durante l’estrazione

Questo può accadere quando ricevi un file zip creato su Windows.

Causa

Differenze nella codifica dei caratteri (UTF-8 vs Shift-JIS, ecc.).

Correzione di esempio

unzip -O cp932 sample.zip

Nota: varia a seconda dell’ambiente.

7.5 Sovrascritture accidentali

I file esistenti possono essere sovrascritti durante l’estrazione.

Verifica in anticipo:

tar -tzvf archive.tar.gz

Per zip:

unzip -l sample.zip

7.6 Elevato carico CPU

È normale che l’uso della CPU aumenti durante la compressione xz.

Verifica:

top

Se necessario, abbassa il livello di compressione o passa a gzip.

8. Riepilogo: Quale comando di compressione Ubuntu usare (riferimento rapido)

Ecco un riepilogo pratico, basato sui casi d’uso, di quanto trattato.
Questo aiuta gli utenti che cercano “ubuntu compression” a raggiungere rapidamente la conclusione.

8.1 Formati consigliati per caso d’uso

Use caseRecommended formatReason
Sharing with WindowszipHigh compatibility
Standard use within Linuxtar.gzGood balance
Size is the top prioritytar.xzHigh compression
Backup storagetar.gz / tar.xzPrioritize stability
Temporary transfertar.gzPrioritize speed

8.2 Confronto dei formati (Velocità vs Rapporto di compressione)

FormatCompression ratioSpeedCPU load
zipNormalFastLow
tar.gzNormalFastLow to medium
tar.bz2HighSlowMedium
tar.xzVery highVery slowHigh

Nota: il rapporto di compressione e la velocità variano a seconda dei dati e dell’ambiente.

8.3 Comandi minimi da memorizzare

Compressione zip

zip -r archive.zip folder/

Compressione tar.gz

tar -czvf archive.tar.gz folder/

Estrazione tar.gz

tar -xzvf archive.tar.gz

8.4 Una conclusione semplice per i principianti

  • Se non sei sicuro, usa tar.gz
  • Se ti serve la condivisione con Windows, usa zip
  • Se vuoi la dimensione più piccola possibile, usa tar.xz

La tua priorità principale è memorizzare tar -czvf e tar -xzvf.

8.5 Scelte sbagliate comuni

  • Credere erroneamente che tar da solo possa comprimere
  • Scegliere sempre xz e rallentare l’elaborazione
  • Non comprendere la differenza tra GUI e CLI
  • Non controllare l’uso del disco prima di comprimere