← Back to course

Archivi e Compressione

Archivi e Compressione

Bentornato.

Nella lezione precedente hai imparato a controllare le connessioni di rete dal terminale.

Ora torniamo ai file.

Ma questa volta li impacchettiamo.

Perché a volte non vuoi inviare dieci file separati come un piccione confuso con documenti.

Vuoi un archivio solo.

Pulito. Portatile. Ordinato.

Molto adulto.

Cosa Imparerai

In questa lezione imparerai a:

La Missione

La tua missione è semplice:

Creare una piccola cartella con file, impacchettarla in archivi, comprimerla, estrarla di nuovo e capire cosa sta succedendo.

Niente magia.

Solo file con una valigia.

Archivio vs Compressione

Un archivio raccoglie più file in un solo file.

La compressione rende i file più piccoli.

Non sono esattamente la stessa cosa.

Esempio:

.tar      solo archivio
.tar.gz   archivio + compressione
.zip      archivio + compressione

Un file .tar è come mettere molti documenti in una cartella.

Un file .tar.gz è come mettere quella cartella in un sacchetto sottovuoto.

Linux lo adora.

Probabilmente troppo.

Creare una Cartella di Pratica

Vai nella tua cartella di pratica:

cd ~/terminal-practice

Se non esiste, creala:

mkdir -p ~/terminal-practice
cd ~/terminal-practice

Crea una cartella per questa lezione:

mkdir lesson9-archive
cd lesson9-archive

Crea alcuni file:

echo "Linux archive practice" > notes.txt
echo "Remember to extract carefully" > reminder.txt
echo "Compression is useful" > compression.txt

Controlla:

ls

Dovresti vedere:

compression.txt  notes.txt  reminder.txt

Bene.

Ora abbiamo qualcosa da impacchettare.

Creare un Archivio tar

Torna indietro di un livello:

cd ..

Crea un archivio .tar:

tar -cf lesson9-archive.tar lesson9-archive

Ora mostra i file:

ls

Dovresti vedere:

lesson9-archive
lesson9-archive.tar

L’archivio è stato creato.

Le opzioni significano:

-c = create
-f = file

Quindi il comando significa:

Crea un archivio chiamato lesson9-archive.tar dalla cartella lesson9-archive.

Molto logico.

Molto Linux.

Vedere Cosa C’è Dentro un Archivio tar

Per vedere il contenuto di un archivio .tar:

tar -tf lesson9-archive.tar

Le opzioni significano:

-t = lista il contenuto
-f = file

Dovresti vedere i file dentro l’archivio.

Questo è utile prima di estrarre.

Perché estrarre archivi sconosciuti alla cieca è il modo migliore per trasformare una cartella pulita in una zuppa digitale.

Estrarre un Archivio tar

Crea una cartella per l’estrazione:

mkdir extracted-tar

Estrai l’archivio lì:

tar -xf lesson9-archive.tar -C extracted-tar

Le opzioni significano:

-x = extract
-f = file
-C = estrai in questa directory

Ora controlla:

tree extracted-tar

Se tree non è installato, usa:

ls -R extracted-tar

Dovresti vedere di nuovo i tuoi file.

L’archivio ha funzionato.

Niente è esploso.

Una bellissima giornata.

Creare un Archivio Compresso tar.gz

Ora crea un archivio compresso:

tar -czf lesson9-archive.tar.gz lesson9-archive

Le opzioni significano:

-c = create
-z = compressione gzip
-f = file

.tar.gz è molto comune su Linux.

Puoi vedere anche .tgz.

È praticamente la stessa idea, solo più breve.

Perché a quanto pare anche le estensioni dei file hanno soprannomi.

Estrarre un Archivio tar.gz

Crea un’altra cartella:

mkdir extracted-targz

Estrai:

tar -xzf lesson9-archive.tar.gz -C extracted-targz

Opzioni:

-x = extract
-z = gzip
-f = file
-C = directory di destinazione

Controlla:

ls -R extracted-targz

Dovresti vedere la cartella e i file estratti.

Creare un Archivio zip

zip è comune quando condividi file con utenti Windows, macOS o chi pensa che .tar.gz sembri una diagnosi medica.

Crea un archivio zip:

zip -r lesson9-archive.zip lesson9-archive

L’opzione -r significa ricorsivo.

Include i file dentro la cartella.

Se zip non è installato, installalo.

Arch Linux

sudo pacman -S zip unzip

Ubuntu o Debian

sudo apt install zip unzip

Fedora

sudo dnf install zip unzip

Estrarre un Archivio zip

Crea una cartella:

mkdir extracted-zip

Estrai lo zip:

unzip lesson9-archive.zip -d extracted-zip

L’opzione -d significa directory di destinazione.

Controlla:

ls -R extracted-zip

I tuoi file dovrebbero essere lì.

Comandi Comuni per Archivi

Ecco i comandi più usati:

tar -cf archive.tar folder
tar -tf archive.tar
tar -xf archive.tar
tar -czf archive.tar.gz folder
tar -xzf archive.tar.gz
zip -r archive.zip folder
unzip archive.zip

Questi bastano per la maggior parte delle attività quotidiane.

Non devi memorizzare tutto subito.

Il tuo cervello merita pietà.

Errori Comuni

Estrarre nella cartella sbagliata

Prima di estrarre, controlla dove sei:

pwd

Poi mostra i file:

ls

Estrarre archivi in posti casuali è il modo in cui la home diventa un mercatino dell’usato.

Dimenticare -r con zip

Questo potrebbe non includere correttamente il contenuto della cartella:

zip archive.zip folder

Usa:

zip -r archive.zip folder

-r fa includere tutto quello che c’è dentro.

Confondere creazione ed estrazione

Creare:

tar -czf archive.tar.gz folder

Estrarre:

tar -xzf archive.tar.gz

Piccola differenza.

Grande risultato.

Uno impacchetta i file.

L’altro li spacchetta.

Non confonderli, a meno che tu non voglia fare della confusione uno stile di vita.

Pratica

Prova questo:

cd ~/terminal-practice
mkdir archive-practice
cd archive-practice
echo "File one" > one.txt
echo "File two" > two.txt
echo "File three" > three.txt
cd ..
tar -czf archive-practice.tar.gz archive-practice
mkdir test-extract
tar -xzf archive-practice.tar.gz -C test-extract
ls -R test-extract

Poi rispondi:

  1. Cosa fa tar -cf?
  2. Cosa fa tar -xf?
  3. Cosa significa -z?
  4. Cosa fa zip -r?
  5. Perché conviene controllare dove sei prima di estrarre?

Mini Sfida

Crea questa cartella:

backup-demo/
├── notes.txt
├── tasks.txt
└── config/
    └── app.conf

Poi:

  1. Crea backup-demo.tar.
  2. Mostra il suo contenuto.
  3. Crea backup-demo.tar.gz.
  4. Crea backup-demo.zip.
  5. Estrai ogni archivio in una cartella separata.
  6. Controlla che tutti i file siano presenti.

Niente mouse.

Il mouse ormai è un oggetto decorativo.

Riassunto

Oggi hai imparato che:

Gli archivi sono ovunque in Linux.

Ora quando vedi .tar.gz, non devi andare in panico.

Non è un mostro.

È solo una valigia con una cintura intorno.

Prossima Lezione

Nella prossima lezione parleremo di variabili d’ambiente, alias e basi della shell.

È lì che il terminale inizia a ricordare cose per te.

Come un assistente gentile.

Ma con meno opinioni.