gzip gunzip con Bash

Comandos gzip gunzip para Linux

Los comandos gzip y gunzip de Linux se utilizan para comprimir y descomprimir archivos utilizando el algoritmo de compresión gzip. Su nombre proviene de la combinación de GNU + zip. Algo más rápido que el comando bzip2 pero con menor poder de compresión.

gzip [opciones] archivo

Debemos tener en cuenta que la compresión por defecto genera un archivo de extensión .gz y elimina el archivo original.

Para comprimir varios archivos debemos hacer uso previamente del comando tar para crear una «agrupación» con los archivos. Lo mismo ocurre si queremos comprimir un directorio.

En este ejemplo vamos a comprimir un fichero llamado lorem.txt. Este comando generará el archivo lorem.txt.gz y eliminará a lorem.txt.

gzip lorem.txt

Podemos observar la información que nos devuelve la terminal si después de la compresión ejecutamos el comando file de Linux.

Comprimiendo fichero con gzip

Para descomprimir este archivo y recuperar el formato original utilizamos el comando gunzip. El equivalente al comando gunzip es gzip -d.

gunzip lorem.txt.gz

Vamos a comprobar mediante un listado ls -l el peso del archivo que hemos comprimido y después realizaremos otra vez lo mismo para ver el peso del archivo descomprimido.

Se puede apreciar que el peso del archivo comprimido es menor al del archivo sin comprimir. La compresión funciona 🙂

Descomprimiendo fichero con gunzip

Opciones con gzip gunzip

Cada comando de Linux tiene diferentes opciones para optimizar y potenciar el propio comando. Es recomendable ver las que existen desde la terminal con el comando de ayuda man gzip o man gunzip.

Ahora veremos algunas opciones interesantes:

  • -d: descomprime el archivo en lugar de comprimirlo. Es el equivalente al comando gunzip.
  • -c: escribe la salida comprimida o sin comprimir sin eliminar el archivo original. Útil para redirigir la salida a otro archivo o comando.
  • -k: mantiene el archivo original después de la compresión, creando un nuevo archivo con extensión .gz

Veamos un ejemplo con las diferencias de usar las opciones -c y -k con el comando gzip.

Opción -c para gzip

Primero vamos a ver la opción para redirigir la salida comprimida del archivo hola.txt a un archivo nuevo llamado info_comprimida.txt.

gzip -c hola.txt > info_comprimida.txt

Podemos ver que este comando no comprime el archivo hola.txt, el archivo sigue manteniendo su nombre y extensión. Lo que realmente hace es que crea un archivo nuevo llamado info_comprimida.txt que en su interior almacena la información de la compresión de hola.txt.

Haciendo uso del comando cat de Linux mostramos el contenido del nuevo archivo.

Comprimiendo con gzip -c en un archivo nuevo

De la misma forma pero usando gunzip -c podríamos redirigir la salida descomprimida a un archivo.

gunzip -c hola.txt.gz > info_descomprimida.txt

Opción -k para gzip

Ahora vamos a ver un ejemplo haciendo uso del comando gzip -k con el mismo archivo de antes.

Con esta opción conseguimos crear un archivo comprimido llamado hola.txt.gz sin que nuestro archivo original hola.txt sea eliminado.

gzip -k hola.txt

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *