Uso de Gzip para comprimir y descomprimir desde la línea de comandos.
Lo primero, como siempre es la actualización del sistema.
sudo apt update && sudo apt upgrade -y
Instalación de Gzip
sudo apt install gzip
Comprobamos la instalación
gzip --version
Y si está correctamente instalado nos devuelve lo siguiente.
gzip 1.10
Copyright (C) 2018 Free Software Foundation, Inc.
Copyright (C) 1993 Jean-loup Gailly.
This is free software. You may redistribute copies of it under the terms of
the GNU General Public License <https://www.gnu.org/licenses/gpl.html>.
There is NO WARRANTY, to the extent permitted by law.
Written by Jean-loup Gailly.
Gzip es una de las utilidades más conocida y usada en el día a día. El algoritmo con el que realiza las compresiones es el LZ77 (Lempel-Ziv) y la extensión de los archivos comprimidos es .gz
.
Su ratio de compresión se puede considerar, en comparación con otros compresores, como bueno y una alta velocidad de compresión llegando a ser muy alta en su descompresión aun teniendo un bajo uso de CPU.
Lo más importante es que tiene una alto grado de tolerancia a los fallos de corrupción siendo el compresor más fiable.
Uso del compresor Gzip
Síntaxis del comando Gzip
gzip [opciones] [archivo]
La forma rápida de usar el comando es la siguiente.
gzip archivo.ext
Y nos reemplaza el archivo original por el comprimido añadiéndole la extensión .gz
archivo.ext.gz
Y para descomprimir un archivo comprimido.
gunzip archivo.ext.gz
Aunque si queremos seguir manteniendo la terminología de la compresión podemos usar la siguiente instrucción para descomprimir, obteniendo el mismo resultado.
gzip -d archivo.ext.gz
Y en cualquiera de ambas opciones nos reemplaza el archivo comprimido por el original descomprimido.
Parámetros de Gzip
Las siguientes opciones o parámetros son los más usados aunque siempre podemos consultar la ayuda para obtener todas las funciones.
-d
o–decompress
: Descomprime el archivo comprimido.-k
o–keep
: Mantiene, sin reemplazar, el archivo comprimido o descomprimido.-l
o–list
: Informa del ratio de compresión y otros detalles de un archivo comprimido.-c
o–stdout
: Outputs to standard output (stdout), keeping the original files unchanged. This is useful for piping.-r
o–recursive
: Comprime o descomprime de formar recursiva cuando trabajamos sobre un directorio.-f
(o–force
): Fuerza la compresión o descompresión sobreescribiendo cualquier archivo que exista previamente.-t
(o–test
): Comprueba la integridad del archivo comprimido.-v
(o–verbose
): Muestra información del o los archivos comprimidos con su ratio de compresión.-1
(o–fast
): Comprime más rápido pero con menos compresión. Al incrementar el número baja la velocidad de compresión y aumenta el ratio de compresión..-9
(o–best
): Comprime más lento pero con la mejor compresión.-N
(o–name
): Al comprimir mantiene la fecha y hora del archivo original en el archivo comprimido (esta opción se usa por defecto).-n
(o–no-name
): Al comprimir no mantiene la fecha y hora del archivo original, al igualq ue al descomprimir que tampoco mantiene la fecha y hora.
Algunos ejemplos de uso del compresor Gzip
Comprimir un archivo con su máxima compresión.
gzip -9 archivo.ext
Información de un archivo comprimido.
gzip -l archivo.ext.gz
Nos devolvería algo similar a lo siguiente.
compressed | uncompressed | ratio | uncompressed_name |
---|---|---|---|
26384423 | 27056247 | 2.5% | archivo.ext |
Y si no queremos que al comprimir nos reemplace el archivo original usamos lo siguiente.
gzip -dk archivo.ext
En resumen, una muy buena velocidad con un un nivel alto de compresión y una compatibilidad multiplataforma hacen de Gzip la mejor opción para el día a día.