Compressione e archiviazione dei file — Gzip, Zip e Tar

Compressione tramite Gzip e Zip

I file compressi usano meno spazio su disco e vengono scaricati più velocemente dei file non compressi. Per comprimere i file Linux, potete usare i tool di compressione open-source Gzip o Zip, che sono riconosciuti dalla maggior parte dei sistemi operativi.

Per convenzione, i file compressi hanno l'estensione .gz. Il comando Gzip crea un file compresso con estensione .gz; Gunzip estrae i file compressi e elimina il file .gz.

Per comprimere un file al prompt della shell, digitate il comando seguente:

gzip filename.ext

Il file viene compresso e salvato come filename.ext.gz.

Per espandere un file compresso, digitate:

gunzip filename.ext.gz

Il file filename.ext.gz viene cancellato e sostituito con filename.ext.

Se scambiate file con utenti non Linux, vi consigliamo di usare zip per evitare problemi di compatibilità. Red Hat Linux può facilmente aprire file zip o gzip, ma alcuni sistemi operativi non Linux potrebbero avere problemi con i file gzip.

Per comprimere un file con zip, digitate quanto segue:

zip -r filename.zip files

In questo esempio, filename rappresenta il file che state creando e files rappresenta il file che volete inserire nel nuovo file:

Per estrarre il contenuto di un file zip, digitate:

unzip filename.zip

Potete comprimere con zip o gzip più file contemporaneamente inserendo uno spazio fra i vari file.

gzip filename.gz file1 file2 file3 /user/work/school 

Il comando riportato sopra comprime file1, file2, file3 e il contenuto della directory /user/work/school e li inserisce nel file filename.gz.

Archiviazione tramite Tar

I file tar introducono vari file o il contenuto di una o più directory in un file. E' un ottimo modo per creare copie di backup e archivi. Solitamente i file tar terminano con l'estensione .tar.

Per creare un file tar, digitate:

tar -cvf filename.tar files/directories

Nell'esempio, filename.tar rappresenta il file che state creando e files/directories rappresenta i file o le directory che volete inserire nel nuovo file.

Per questi file e queste directory potete usare percorsi assoluti o relativi (per maggiori informazioni sui percorsi, consultate la la sezione Cambio della directory con cd nel Capitolo 10). Separate i nomi dei file o delle directory con uno spazio.

L'input seguente crea un file tar usando un percorso assoluto:

 tar -cvf foo.tar /home/mine/work /home/mine/school

Il comando riportato posiziona tutti i file nella sottodirectory /work e la sottodirectory /school in un nuovo file chiamato foo.tar nella directory corrente.

Il comando tar -cvf foo.tar file1.txt file2.txt file3.txt posiziona file1.txt, file2.txt e file3.txt in un nuovo file chiamato foo.tar.

Per visualizzare il contenuto di un file tar, digitate:

tar -tvf foo.tar

Per estrarre il contenuto di un file tar, digitate:

tar -xvf foo.tar

Questo comando non cancella il file .tar, ma inserisce una copia del contenuto .tar nella directory corrente.

Il comando tar non comprime i file automaticamente. Potete comprimere i file tar con:

tar -czvf foo.tar

I file tar compressi hanno l'estensione .tgz e vengono compressi con gzip.

Per espandere un file tar compresso, digitate:

tar -xzvf foo.tgz