Posts del SysAdmin

Curso Gratuito Linux – Comprimir y Descomprimir en Linux

Comprimir y Descomprimir en Linux

En nuestra actividad diaria siempre tendremos la necesidad de optimizar el espacio en nuestro disco comprimiendo nuestros archivos aprendiendo a comprimir y descomprimir en linux.

En nuestro Curso Gratuito Linux vamos a aprender como comprimir y descomprimir en linux desde la línea de comandos.

Vamos a ingresar a nuestro equipo con cualquier usuario, obviamente, ya que esta necesidad es independiente del nivel de permisos que tengamos ya que todos tendremos esta necesidad para comprimir y descomprimir en linux.

Para todos los ejemplos que siguen, he creado una serie de archivos con extensión .log para los ejercicios con gzip, bzip2 y tar.

Comando gzip

Para comprimir y descomprimir en linux, una opción es utilizar el comando gzip para uno o varios archivos que generará un nuevo archivo con la extensión gz.

La ejecución del comando es sencilla. Los archivos comprimidos se representan en el sistema con el color rojo.

Personalmente aconsejo ejecutarlo con la opción -k ya que de no hacerlo, el archivo original es eliminado quedando únicamente el archivo comprimido.

En el ejemplo que sigue, voy a ejecutar las dos opciones y listando el directorio para apreciar el tamaño de cada uno de los archivos y el resultado con la ejecución del comando con y sin la opción -k, eliminando el archivo comprimido antes de la segunda ejecución

Comprimir archivos en Linux
Ejecutando el comando gzip

Para descomprimir el archivo ejecutaremos el comando gunzip como se ve a continuación

Comprimir archivos en Linux
Ejecutando el comando gunzip

Comando bzip2

Otro comando disponible para comprimir y descomprimir en linux es el comando bzip2 que comprime de una forma más eficiente que el gzip pero tarda un poco más de tiempo en este proceso.

El comando bzip2 genera uno nuevo archivo con la extensión .bz2. Los archivos comprimidos el sistema los visualiza con el color rojo.

En el ejemplo que sigue, voy a ejecutar las dos opciones y listando el directorio para apreciar el tamaño de cada uno de los archivos y el resultado con la ejecucion del comando con y sin la opción -k, eliminando el archivo comprimido antes de la segunda ejecución

Comprimir archivos en Linux
Ejecución del comando bzip2

Para descomprimir utilizaremos el comando bunzip2

Comprimir archivos en Linux
Ejecución del comando gunzip

Comando tar

El comando tar nos permite empaquetar un archivo. No los comprime, por el contrario los coloca a todos juntos convirtiéndolos automáticamente en un solo archivo.

De todas maneras, a la hora de comprimir y descomprimir en linux, este comando es una herramienta importante en el sistema para agrupar varios archivos aislados o el contenido de un directorio en otro fichero o dispositivo especial.

Sintaxis del comando:

Algunas opciones que podemos trabajar con él:

  • tar -c: permite crear (tarear)
  • tar -x: permite extraer (destarear)
  • tar -v: activa el modo explicativo
  • tar -f <archivo>: agrupa o desagrupa en o hacia un fichero. No utiliza la salida o entrada estándar (como es por defect)
  • tar -z: compacta o descompacta el archivo resultante una vez agrupado o desagrupado con gzip y gunzip respectivamente
  • tar -j: compacta o descompacta el archivo resultante una vez agrupado o desagrupado con bzip2 y bunzip2 respectivamente
  • tar -t: lista el contenido de un archivo resultado de un agrupamiento
  • tar -M: agrupa en volúmenes.

En el ejemplo que sigue, voy a colocar una serie de archivos en un archivo.

Comprimir archivos en Linux
Ejecución del comando tar

Ahora, voy a listar el contenido para comprobar la creación del archivo y su tamaño, donde veremos que NO está comprimido.

Comprimir archivos en Linux
Ejecución del comando tar

Ahora, vamos a extraer el contenido del archivo, previo borrado de los archivos originales.

Comprimir archivos en Linux
Ejecución del comando tar

Y vamos a comprobar que estén todos los archivos.

Comprimir archivos en Linux
Ejecución del comando tar

Empaquetar con tar y comprimir con gzip

Ahora vamos a ejecutar no solo el empaquetado sino que también vamos a comprimir ese archivo tar para ocupar menos espacio.

Vamos a empaquetar y comprimir todos los archivos con extensión .log y vamos a comparar el tamaño con el archivo tar creado previamente.

Comprimir archivos en Linux
Ejecución comando tar y gzip

Ahora vamos a comparar los tamaños de los archivos.

Comprimir archivos en Linux
Ejecución comando tar y gzip

Ahora, vamos a eliminar todos los archivos con extensión .log y vamos a descomprimir el archivo tar compactado previamente con gzip

Comprimir archivos en Linux
Ejecución comando tar y descompresión con gzip

Empaquetar con tar y comprimir con bzip2

De manera similar al caso anterior, haremos la misma operación pero en esta oportunidad utilizando para comprimir bzip2 cuyo nivel de compresión es muy superior a gzip.

Nuevamente, comprimiremos todos los archivos con extensión .log y comprobaremos todos los tamaños de archivos para apreciar la diferencia.

Comprimir archivos en Linux
Ejecución del comando tar y compresión con bzip2

Como pueden ver mas arriba, la diferencia de tamaño del archivo resultante es muy inferior al obtenido al comprimir con gzip

Ahora, vamos a eliminar todos los archivos con extensión .log y vamos a descomprimir el archivo tar compactado previamente con bzip2

Comprimir archivos en Linux
Ejecución del comando tar y descompresión con bzip2

Conclusión:

Hemos aprendido a comprimir y descomprimir en linux archivos de manera individual y grupal con gzip y bzip2, siendo éste último el que mejor nivel de compresión nos ha proporcionado, como así también aprendimos a agrupar/empaquetar o como más se conoce en la jerga «tarear» archivos respetando el orden jerárquico con tar, donde NO tenemos compresión a no ser que lo complementemos con el comando gzip o bzip2, siendo nuevamente la segunda opción la que mejor nivel de compresión nos proporciona. También hemos de aclarar que existen otras herramientas de compresión, pero nos focalizamos en las mencionadas ya que las encontraremos disponibles en nuestro sistema sin necesidad de instalación adicional, lo cual se vuelve complicado si el equipo no cuenta con salida a internet.

Espero haya sido de vuestra utilidad, no dejen de consultar las páginas del manual (man tar o man bzip2), y no dejen de compartir!

Saludos

Eduardo

 

Deja un comentario

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