bzip2 bunzip2 con Bash

Comandos bzip2 bunzip2 para Linux

Los comandos bzip2 y bunzip2 de Linux se utilizan para comprimir y descomprimir archivos utilizando el algoritmo de compresión Bzip2. Su velocidad de compresión es algo más lenta que gzip, pero su compresión es mayor.

bzip2 [opciones] archivo

Debemos tener en cuenta que la compresión por defecto genera un archivo de extensión .bz2 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 hola.txt. Este comando generará el archivo hola.txt.bz2 y eliminará a hola.txt.

bzip2 hola.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 archivo con el comando bzip2 de Linux

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

bunzip2 hola.txt.bz2

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 archivo con el comando bunzip2

Opciones con bzip2 bunzip2

Echar un vistazo a las diferentes opciones que existen en los comandos de Linux para optimizar y potenciarlos es una excelente idea. Puedes ver todas las que existen desde la terminal con el comando de ayuda man bzip2 o man bunzip2.

Ahora veremos algunas opciones:

  • -d: descomprime el archivo en lugar de comprimirlo. Es el equivalente al comando bunzip2.
  • -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 .bz2

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

Opción -c para bzip2

En el tutorial de gzip -c redirigimos la salida de la compresión, para este ejemplo redirigiremos la salida de una descompresión.

¿Qué significa esto?

Tenemos un archivo llamado hola.txt.bz2 y queremos que el resultado de su descompresión (el contenido del archivo), se guarde en otro archivo nuevo que vamos a crear llamado info_descomprimida.txt.

bunzip2 -c hola.txt.bz2 > info_descomprimida.txt

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

Descomprimiendo un archivo con el comando de Linux bunzip2 -c y llevando la salida a otro archivo

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

bzip2 -c hola.txt > info_comprimida.txt

Opción -k para bzip2

Ahora vamos a ver otro ejemplo haciendo uso del comando de Linux bzip2 -k con el mismo archivo de antes.

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

bzip2 -k hola.txt

Dejar un comentario

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