CodeGym /Corsi /Docker SELF /Archiviazione e compressione dei file: comandi `tar`, `gz...

Archiviazione e compressione dei file: comandi `tar`, `gzip`, `zip`

Docker SELF
Livello 6 , Lezione 4
Disponibile

Archiviazione e compressione dei file: comandi tar, gzip, zip

1. Concetto di archiviazione e compressione

Che cos'è l'archiviazione e perché serve?

Immagina un armadio pieno di libri. Per conservarli in modo compatto, potresti metterli in una scatola (archiviazione) e legarla con una corda per una conservazione più densa (compressione). Nel mondo dei computer, l'archiviazione è il processo di combinazione di più file in un unico contenitore (archivio), mentre la compressione riduce le sue dimensioni.

Ma perché serve? Ecco alcuni esempi:

  • Conservare i dati: Confezionando i file in un archivio, puoi spostarli o copiarli facilmente come un unico file.
  • Trasferimento dati: Grazie alla compressione, i dati occupano meno spazio, aumentando la velocità di trasferimento sulla rete.
  • Backup: L'archiviazione consente di proteggere i dati e semplifica il loro ripristino.

Tra l'altro, hai mai provato a inviare 1000 file via email? Senza archiviazione sarebbe più simile a una tortura!


2. Comando tar: creazione e gestione degli archivi

Che cos'è tar?

tar è un'utility per l'archiviazione dei file in Linux. Da solo, tar non comprime i file, li combina semplicemente in uno solo. Se vuoi comprimere un file, puoi usarlo insieme a una compressione (gzip, bzip2, ecc.).

Sintassi generale

tar [opzioni] <archivio> <file/cartelle>

Opzioni principali

  • -c: creare un nuovo archivio.
  • -v: output dettagliato delle operazioni (ti informa su tutti i file aggiunti).
  • -f: specificare il nome dell'archivio.
  • -x: estrarre file dall'archivio.
  • -t: visualizzare il contenuto dell'archivio.

Esempi di utilizzo

1. Creare un archivio

tar -cvf archive.tar file1.txt file2.txt
  • Crea un archivio archive.tar da due file file1.txt e file2.txt.
  • -c: crea un nuovo archivio.
  • -v: mostra nel terminale l'intero processo di aggiunta dei file.
  • -f: specifica che il nome dell'archivio è archive.tar.

2. Archiviazione di una cartella

tar -cvf project.tar /home/user/project
  • Crea un archivio project.tar che include l'intera cartella /home/user/project.

3. Estrazione di un archivio

tar -xvf archive.tar
  • Estrae l'archivio archive.tar nella directory corrente.

4. Visualizzazione del contenuto dell'archivio

tar -tvf archive.tar
  • Mostra l'elenco di file e cartelle nell'archivio.

3. Compressione con gzip

Che cosa fa gzip?

Se tar è una scatola, allora gzip è una busta sottovuoto che ne riduce la dimensione. gzip riduce i dati utilizzando algoritmi di compressione, rendendolo uno strumento perfetto per risparmiare spazio.

Sintassi generale

gzip [opzioni] <file>

Esempi di utilizzo

1. Compressione di un file

gzip file1.txt
  • Dopo l'esecuzione, il comando cambierà il file file1.txt in file1.txt.gz.

2. Estrazione di un file

gunzip file1.txt.gz
  • Ripristina il file originale file1.txt.

3. Archiviazione e compressione con tar e gzip

tar -czvf archive.tar.gz file1.txt file2.txt
  • Crea un archivio archive.tar.gz che combina e comprime i file file1.txt e file2.txt.

4. Estrazione di un archivio compresso

tar -xzvf archive.tar.gz
  • Estrae e decomprime il contenuto dell'archivio archive.tar.gz.

4. Utilità zip per creare archivi compressi

Qual è la differenza rispetto a tar?

A differenza di tar, zip crea direttamente un archivio compresso, che per impostazione predefinita può essere utilizzato su Windows e altri sistemi.

Sintassi generale

zip [opzioni] <archivio> <file/cartelle>

Esempi di utilizzo

1. Creazione di un archivio zip

zip archive.zip file1.txt file2.txt
  • Crea un archivio archive.zip, che include i file file1.txt e file2.txt.

2. Archiviazione di una cartella

zip -r project.zip /home/user/project
  • Crea un archivio project.zip, includendo l'intera cartella /home/user/project.
  • -r: aggiunta ricorsiva di file e cartelle.

3. Estrazione di un archivio zip

unzip archive.zip
  • Estrae il contenuto dell'archivio archive.zip.

5. Differenze tra tar, gzip e zip

Utility Archiviazione Compressione Approccio Applicazione principale
tar Pacchetto di file Unire file in un archivio senza compressione
gzip Compressione Ridurre la dimensione di file singoli o archivi
zip Tutto in uno Creare archivi portabili

6. Compito pratico

  1. Crea un archivio backup.tar con il contenuto della cartella /home/user/documents.
  2. Comprimi l'archivio utilizzando gzip per ottenere backup.tar.gz.
  3. Estrai l'archivio in un'altra directory, ad esempio /tmp/backup.
  4. Crea un archivio zip docs.zip dai file doc1.txt e doc2.txt.
  5. Prova a estrarre il contenuto di docs.zip usando il comando unzip.

7. Errori tipici e particolarità

1. Errore "Permission denied" Se provi ad archiviare file a cui l'accesso è limitato, otterrai un messaggio di errore. Esegui il comando con diritti di amministratore: sudo.

2. Confuso con le opzioni? Le opzioni di tar a volte possono creare confusione. Ricorda che l'ordine è importante: per esempio, prima bisogna specificare l'azione come -c o -x, e solo dopo le altre opzioni.

3. Archivio compresso che non si apre Se per sbaglio hai aggiunto una compressione su un file già compresso (per esempio, gzip archive.tar.gz), non ti preoccupare. Basta estrarlo due volte.

4. Archivio troppo grande Quando usi il comando zip, escludi i file temporanei o la cache per ridurre le dimensioni dell'archivio: zip -r archive.zip folder -x "*.tmp".

5. Problemi di compatibilità Se hai bisogno di condividere un file con un utente Windows, preferisci zip, poiché è meglio supportato su quel sistema operativo.

Ecco fatto! Abbiamo imparato ad archiviare e comprimere i dati in Linux. Questi strumenti saranno utili per semplificare il lavoro con grandi quantità di dati, per trasferirli e proteggerli dalle perdite. Passa al prossimo argomento: le conoscenze continueranno a crescere! 🎉

Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION