Había una vez… una época en la que el espacio disponible en los dispositivos de almacenamiento era muy limitado. De hecho, el pendrive donde tengo instalado Kali Linux tiene mayor capacidad que el disco rígido IDE de mi primer computadora. Por eso surgieron las herramientas de compresión de archivos en Linux (y en otros sistemas operativos). En este post explicaremos cómo usar tres de ellas: gzip
, bzip2
, y xz
. Cada una de ellas incluye también comandos para descomprimir. Además, incluyen otras utilidades para leer directamente desde el archivo comprimido (si se trata de archivos de texto plano). ¡Comencemos!
Compresión de archivos en Linux
Para empezar, crearemos el siguiente archivo (riverplate.txt) para los ejemplos que realizaremos en este post:
El más grande sigue siendo River Plate, el campeon más poderoso de la historia, el más grande por las glorias que alumbraron el ayer, y que brillan todavía en mi memoria.
Para comprimir el archivo podemos utilizar cualquiera de los tres comandos siguientes. Debemos tener en cuenta que cualquiera de ellos reemplazará el archivo original por su versión comprimida. Los nombres de los archivos comprimidos finales serán iguales a los iniciales, con la diferencia de que se agregarán las extensiones .gz, .bz2, y .xz, respectivamente:
gzip riverplate.txt bzip2 riverplate.txt xz riverplate.txt
Si queremos descomprimir, utilizaremos los mismos comandos pero usando la opción -d
(descomprimir):
gzip -d riverplate.txt.gz bzip2 -d riverplate.txt.bz2 xz -d riverplate.txt.xz
¿Cuándo usar una herramienta o la otra? En este artículo podemos ver una comparación detallada.
Leer texto desde un archivo comprimido
A continuación, veamos cómo leer un archivo de texto comprimido. Cualquiera de las opciones que figuran a continuación son válidas para cada tipo de compresión. La opción combinada -dc
indica que se debe mostrar el resultado por pantalla en vez de guardar el archivo descomprimido en el disco.
gzip -dc riverplate.txt.gz zcat riverplate.txt.gz bzip2 -dc riverplate.txt.bz2 bzcat riverplate.txt.bz2 xz -dc riverplate.txt.xz xzcat riverplate.txt.xz
Finalmente, un uso que podemos darle a lo que hemos aprendido en este post es poder acceder a los archivos de documentación del sistema operativo (dentro de /usr/share/doc) sin descomprimirlos.
¡Nos leemos en breve!
¡Aprovechá la oportunidad de suscribirte al blog para recibir en tu correo el post nuestro de cada día, novedades, y promociones exclusivas!