• cerca

SEI GIA' REGISTRATO? EFFETTUA ADESSO IL LOGIN.



HAI DIMENTICATO LA PASSWORD? CLICCA QUI

NON SEI ANCORA REGISTRATO A WEBAREA? CLICCA QUI E REGISTRATI !

Come comprimere e decomprimere files usando gzip in Linux, con esempi.

di :: 12 giugno 2018

Come comprimere e decomprimere files usando gzip in Linux, con [...]

Nelle piattaforme Linux per comprimere e decomprimere files si utilizza l'utility gzip.

Utilizzando gzip riduciamo le dimensioni dei files, e questo si traduce in minor spazio di archiviazione e trasferimento più rapido del file compresso ottenuto (ad esempio in FTP).

L'utility gzip utilizza la codifica Lempel-Ziv (LZ77), un algoritmo per la compressione dati senza perdita di informazioni (lossless).

Alcuni file si comprimono meglio di altri. Ad esempio i file di testo, i documenti, le immagini bitmap, alcuni formati audio e video come WAV e MPEG si comprimono molto bene.

Altri tipi di file come le immagini JPEG e file audio MP3 non vengono compressi, questo perchè questi files sono già compressi.

La compressione gzip è molto usata anche in ambiente web: se configurata, il server web andrà ad erogare elementi (le pagine web, i file javascript, i file css) compressi. In questo modo il tempo di caricamento del sito sarà minore per il visitatore. La decompressione avverà da parte del browser, in questo modo la banda del server verrà preservata. Un sito più veloce è un sito più gradito ai motori di ricerca, e quindi la compressione influisce positivamente sul ranking di Google.

Compressione di files

Utilizzando il comando gzip senza alcuna opzione seguito dal file che vogliamo comprimere, otterremo un file compresso che ha lo stesso nome del file originario, e l'aggiunta dell' estenzione ".gz"

Ad esempio:

# gzip miofile.txt

Il file orginario "miofile.txt" verrà automaticamente eliminato, ed al suo posto verrà creato il file compresso "miofile.txt.gz"

E' possibile comprimere più files con la stessa operazione. Ad esempio se dobbiamo comprimere i 3 files "miofile1.txt" "miofile2.txt" e "miofile3.txt " utilizzeremo gzip così

# gzip miofile1.txt miofile2.txt miofile3.txt 

Otterremo 3 files compressi "miofile1.txt.gz" "miofile2.txt.gz" e "miofile3.txt.gz"

Per visualizzare i dettagli dell'operazione di compressione possiamo usare l'opzione "-v" (verbose)

# gzip -v miofile.txt
miofile.txt:      50.8% -- replaced with miofile.txt.gz

Utilizzando gzip è anche possibile comprimere tutti i files contenuti in una directory e sue sottodirectory.

Per fare questo utilizziamo l'opzione "-r" (recursive) in modo tale che ricorsivamente venga considerato tutto il contenuto della directory, compresi i files contenuti in eventuali sottodirectory

# gzip -r /var/www/html/miosito

Nota: usando "-r" solo i files vengono compressi, non le directory

Verifica della corretta compressione dei files

Per verificare se un files è stato correttamente compresso usiamo gzip con l'opzione "-t" (test). Se ci sono problemi verrà segnalato, altrimenti non verrà restituito nulla.

Ad esempio per verificare il file "miofile.txt.gz":

# gzip -t miofile.txt.gz

Dettagli del file compresso

E' anche possibile verificare i dettagli della compressione usando l'opzione "-l".

Verranno indicati la dimensione compressa, quella originale, il rapporto di compressione (0% se non noto), e il nome file prima della compressione.

# gzip -l miofile.txt.gz
compressed        uncompressed    ratio     uncompressed_name
    342               728         57.4%        miofile.txt

Modificare il livello di compressione

E' possibile personalizzare il livello di compressione che vogliamo dare al file.

Puoi optare per una compressione più piccola (livello 1),  che funzionerà più velocemente ed otterremo un un file più pesante, o puoi ottenere la massima compressione (livello 9), che comporterà più tempo per l'esecuzione ma un file più leggero.

Per ottenere una compressione minima usiamo il comando:

# gzip -1 miofile.txt

Invece per ottenere una compressione massima usiamo:

# gzip -9 miofile.txt

Puoi variare il livello di compressione modificando il numero da 1 a 9

Decompressione dei files

Per decomprimere un file compresso on gzip, e tornare ad avere il file originario, utilizziamo l'opzione "-d"

# gzip -d miofile.txt.gz

Verrà cancellato il file comprezzo .gz e ripristinato il file originario "miofile.txt"

Anche in questo caso, possiamo utiizzare l'opzione "-v" per avere un dettaglio dell'operazione di decompressione

# gzip -v -d miofile.txt.gz
miofile.txt.gz:        57.4% -- replaced with miofile.txt
x

ATTENZIONE