Saltar la navegación

gzip

La orden gzip comprime (también descomprime) ficheros. Por cada fichero que se le pasa como argumento, crea otro comprimido con el mismo nombre y la extensión .gz. El fichero original se borra.

$ ls
ls.man  rm.man
$ gzip ls.man rm.man
$ ls
ls.man.gz  rm.man.gz

La opción -l nos muestra información sobre la compresión realizada:

$ gzip -l ls.man.gz rm.man.gz 
         compressed        uncompressed  ratio uncompressed_name
               6751               20981  67.9% ls.man
               1726                4061  58.1% rm.man
               8477               25042  66.2% (totals)

La extensión que añade gzip por defecto es .gz, pero la podemos cambiar con la opción -S:

$ gzip -S .gzip ls.man rm.man 
$ ls
ls.man.gzip  rm.man.gzip

La opción -v muestra información de cómo va avanzando el trabajo de la orden gzip:

$ gzip -v ls.man rm.man
ls.man:     67.9% -- replaced with ls.man.gz
rm.man:     58.1% -- replaced with rm.man.gz

A veces nos interesa comprimir todo un directorio, incluido el contenido de sus subdirectorios, para ello usaremos la opción -r:

$ tree tmp
tmp
├── d
│   └── pwd.man
├── ls.man
└── rm.man

1 directory, 3 files
usuario@debian:~$ gzip -r tmp
usuario@debian:~$ tree tmp
tmp
├── d
│   └── pwd.man.gz
├── ls.man.gz
└── rm.man.gz

1 directory, 3 files

Podemos descomprimir directamente con gzip, sin necesidad de usar gunzip, pero tendremos que utilizar la opción -d:

$ ls
ls.man.gz  rm.man.gz
$ gzip -d ls.man.gz rm.man.gz
$ ls
ls.man  rm.man

El comando gzip si no lleva ficheros, entonces lee de la entrada estándar y para guardar la compresión tendremos que mandarla a la salida estándar y redireccionarla a un fichero; esto se consigue con la opción -c:

$ man ln | gzip -c > ln.man.gz
$ ls
ln.man.gz

En el ejemplo anterior, la orden man envía la página del manual del comando ln a la salida estándar, esta se conecta a la entrada estándar de gzip (|), que comprime y envía la compresión a la salida estándar (-c) y por último, esta a su vez es redireccionada al fichero ln.man.gz (>).

Por último, podemos comprobar la integridad de un fichero comprimido usando la opción -t :

$ gzip -t ln.man.gz

 

Licencia: licencia de software libre GPL