Introduzione

Gzip è uno degli algoritmi di compressione più popolari che ti consente di ridurre le dimensioni di un file e mantenere la modalità del file originale, la proprietà e il timestamp.

In questo tutorial, vedremo come utilizzare il comando gzip.

Sintassi del comando Gzip

La sintassi generale per il comando Gzip è la seguente:

gzip [OPTION]... [FILE]...

Gzip comprime solo i singoli file e crea un file compresso (Archivio). Per convenzione, il nome di un file compresso con Gzip dovrebbe terminare con .gz o .z.

Se vuoi comprimere più file o directory in un unico file, devi prima creare un archivio Tar e poi comprimere il file .tar con Gzip. Un file che termina in .tar.gz o .tgz è un archivio Tar compresso con Gzip.

Gzip è spesso usato per comprimere file di testo, archivi Tar e pagine web. Non utilizzare Gzip per comprimere immagini, audio, documenti PDF e altri file binari poiché sono già compressi. Gzip può comprimere solo file regolari. I collegamenti simbolici vengono ignorati.

Compressione dei file con Gzip

Per comprimere un singolo file, invoca il comando Gzip seguito dal nome del file:

gzip filename

Gzip creerà un file .filename.gz ed eliminerà il file originale.

Per impostazione predefinita,gzip mantiene il timestamp, la modalità, la proprietà e il nome del file originale nel file compresso.

Conserva il file originale

Se si desidera conservare il file di input (originale), utilizzare l'opzione -k:

gzip -k filename

Un'altro metodo per mantenere il file originale è usare l'opzione -c:

gzip -c filename > filename.gz

Utilizzare l' opzione -v (Verbose) se si desidera vedere la percentuale del completamento del comando e i nomi dei file che vengono elaborati:

gzip -v filename

Comprimi più file

È inoltre possibile passare più file come argomenti al comando. Ad esempio, per comprimere i file denominati file1, file2, file3, si dovrebbe eseguire il seguente comando:

gzip file1 file2 file3

Il comando precedente creerà tre file compressi, file1.gz, file2.gz, file3.gz.

Comprimi tutti i file in una directory

Per comprimere tutti i file in una determinata directory, utilizzare l' -r opzione:

gzip -r nome_cartella

Gzip comprimerà ricorsivamente l'intera struttura della directory, i file e le  sue sottodirectory.

Cambia il livello di compressione

Gzip consente di specificare un intervallo di livelli di compressione, da 1 a 9. -1 o --fast indica la velocità di compressione più alta con un rapporto di compressione minimo, -9 oppure --best indica la velocità di compressione più lenta con il rapporto di compressione massimo. Il livello di compressione predefinito è -6.

Ad esempio, per ottenere la massima compressione, dovresti eseguire:

gzip -9 filename

La compressione è un'attività che richiede molta CPU, maggiore è il livello di compressione, più tempo impiega il processo.

Backup del database MySQL con Gzip

Per creare un file .gz  dallo stdin, reindirizzare l'output del comando gzip. Ad esempio, per creare un backup del database MySQL con gzip è necessario eseguire il seguente comando:

mysqldump database_name | gzip -c > database_name.sql.gz

Decomprimere i file con Gzip

Per decomprimere un file .gz, utilizzare l' opzione -d:

gzip -d filename.gz

Un altro comando che puoi usare per decomprimere un file Gzip è gunzip. Questo comando è sostanzialmente un alias per gzip -d:

gunzip filename.gz

Decomprimere il file senza eliminare l'originale

Come quando si comprime un file, l'opzione -k permette di mantenere il file di input originale:

gzip -dk filename.gz

Decomprimi più file

Per decomprimere più file contemporaneamente, passare i nomi dei file argomenti:

gzip -d file1 file2 file3

Decomprimi tutti i file in una directory

Se utilizzato con le opzioni -d e -r, gzip decomprime ricorsivamente tutti i file in una determinata directory:

gzip -dr directory

Elencare il contenuto del file compresso

Se utilizzato con l' opzione -l, gzip mostra le statistiche sui file compressi indicati:

gzip -l filename

L'output includerà il nome del file non compresso, la dimensione compressa e non compressa e il rapporto di compressione.

Per ottenere maggiori informazioni, aggiungere l'opzione -v:

gzip -lv filename

Conclusione

Con Gzip puoi ridurre le dimensioni di un determinato file. Il comando gzip consente di comprimere e decomprimere i file.