<Precedenti | Contenuti | Succ.>
gzip
. gzip Il programma viene utilizzato per comprimere uno o più file. Quando viene eseguito, sostituisce il file originale con una versione compressa dell'originale. Il file corrispondente gunzip Il programma viene utilizzato per ripristinare i file compressi nella loro forma originale, non compressa. Ecco un esempio:
[io@linuxbox~]$ ls -l /etc > foo.txt
[io@linuxbox~]$ ls -l foo.*
-rw-r--r-- 1 me me 15738 2016-10-14 07:15 foo.txt [me@linuxbox ~]$ gzip foo.txt
[io@linuxbox~]$ ls -l foo.*
-rw-r--r-- 1 me me 3230 2016-10-14 07:15 foo.txt.gz [me@linuxbox ~]$ gunzip foo.txt
[io@linuxbox~]$ ls -l foo.*
-rw-r--r-- 1 me me 15738 2016-10-14 07:15 foo.txt
[io@linuxbox~]$ ls -l /etc > foo.txt
[io@linuxbox~]$ ls -l foo.*
-rw-r--r-- 1 me me 15738 2016-10-14 07:15 foo.txt [me@linuxbox ~]$ gzip foo.txt
[io@linuxbox~]$ ls -l foo.*
-rw-r--r-- 1 me me 3230 2016-10-14 07:15 foo.txt.gz [me@linuxbox ~]$ gunzip foo.txt
[io@linuxbox~]$ ls -l foo.*
-rw-r--r-- 1 me me 15738 2016-10-14 07:15 foo.txt
In questo esempio, creiamo un file di testo denominato pippo.txt da un elenco di directory. Successivamente, eseguiamo gzip, che sostituisce il file originale con una versione compressa denominata foo.tx-t.gz. Nell'elenco delle directory di pippo.*, vediamo che il file originale è stato sostituito con la versione compressa, e che quest'ultima è circa un quinto delle dimensioni dell'originale. Possiamo anche vedere che il file compresso ha le stesse autorizzazioni e lo stesso timestamp dell'originale.
Successivamente, eseguiamo il gunzip programma per decomprimere il file. Successivamente, possiamo vedere che la versione compressa del file è stata sostituita con l'originale, sempre con il permesso
sioni e timestamp conservati.
gzip ha molte opzioni. Eccone alcune:
Tabella 18-1: Opzioni gzip
Opzione Descrizione
Opzione Descrizione
-c Scrive l'output sullo standard output e mantiene i file originali. Può anche essere specificato con --stdout e --to-stdout.
-d Decomprimere. Ciò provoca gzip comportarsi come gunzipPuò anche essere specificato con --decomprimere or --decomprimi.
-f Forza la compressione anche se esiste già una versione compressa del file originale. Può anche essere specificato con --vigore.
-h Visualizza le informazioni sull'utilizzo. Può anche essere specificato con --Aiuto.
-l Elenca le statistiche di compressione per ogni file compresso. Può anche essere specificato con --elenco.
-r Se uno o più argomenti sulla riga di comando sono directory, comprime ricorsivamente i file in esse contenuti. Può anche essere specificato con --ricorsivo.
-t Verifica l'integrità di un file compresso. Può anche essere specificato con
--test.
-v Visualizza messaggi dettagliati durante la compressione. Può anche essere specificato con --verboso.
-numero Imposta la quantità di compressione. numero è un numero intero compreso tra 1 (più veloce, compressione minima) e 9 (più lento, compressione massima). I valori 1 e 9 possono anche essere espressi come --veloce e --migliore, rispettivamente. Il valore predefinito è 6.
Tornando al nostro esempio precedente:
[io@linuxbox~]$ gzip foo.txt [io@linuxbox~]$ gzip -tv foo.txt.gz foo.txt.gz: OK
[io@linuxbox~]$ gzip -d foo.txt.gz
[io@linuxbox~]$ gzip foo.txt [io@linuxbox~]$ gzip -tv foo.txt.gz foo.txt.gz: OK
[io@linuxbox~]$ gzip -d foo.txt.gz
Qui abbiamo sostituito il file pippo.txt con una versione compressa denominata foo.txt.gzSuccessivamente, abbiamo testato l'integrità della versione compressa, utilizzando il -t e -v opzioni. Fi-
infine, abbiamo decompresso il file riportandolo alla sua forma originale.
gzip può essere utilizzato anche in modi interessanti tramite input e output standard:
[io@linuxbox~]$ ls -l /etc | gzip > foo.txt.gz
[io@linuxbox~]$ ls -l /etc | gzip > foo.txt.gz
Questo comando crea una versione compressa di un elenco di directory.
. gunzip programma, che decomprime i file gzip, presuppone che i nomi dei file terminino con l'estensione .gz, quindi non è necessario specificarlo, purché il nome specificato non sia in conflitto con un file non compresso esistente:
[io@linuxbox~]$ gunzip foo.txt
[io@linuxbox~]$ gunzip foo.txt
Se il nostro obiettivo fosse solo quello di visualizzare il contenuto di un file di testo compresso, potremmo fare quanto segue:
[io@linuxbox~]$ gunzip -c foo.txt | meno
[io@linuxbox~]$ gunzip -c foo.txt | meno
In alternativa, è disponibile un programma fornito con gzip, chiamato zcat, che equivale a gunzip con la -c opzione. Può essere utilizzato come il gatto comando su gzip file compressi:
[io@linuxbox~]$ zcat foo.txt.gz | meno
[io@linuxbox~]$ zcat foo.txt.gz | meno
Suggerimento: C'è un zless Anche questo programma svolge la stessa funzione della pipeline di cui sopra.