En este artículo te vamos a enseñar a comprimir y descomprimir ficheros desde tu distribución GNU/Linux favorita, todo usando comandos desde la consola. Es un artículo orientado a los principiantes y en él no vamos a incluir el tratamiento de tarballs como en otros tutoriales, ya que solo se mostrará cómo se realiza la compresión y descompresión sin empaquetarlos con la maravillosa herramienta tar.
Aunque la compresión y descompresión es algo relativamente sencillo, los usuarios suelen bucar bastante por Internet cómo se realizan estas acciones. Supongo que a diferencia de otros sistemas operativos como MacOS y Windows donde se usan herramientas gráficas muy concretas e intuitivas, en GNU/Linux se suelen presentar mayor cantidad de formatos y diversas herramientas para cada uno de ellos, aunque también existen herramientas sencillas a nivel gráfico…
Para la compresión y descompresión vamos a usar dos paquetes fundamentales, ya que son, probablemente, los formatos más demandados y con los que nos topamos con mayor frecuencia cuando estamos trabajando en sistemas tipo Unix. Me estoy refiriendo a gzip y bzip2.
Trabajando con gzip
Para comprimir con gzip, el formato que vamos a manejar es Lempel-Zi (LZ77), y no ZIP como tal, ya que por el nombre puede llevar a confusiones. El nombre proviene de GNU ZIP, y se hizo como sustituito del formato ZIP, pero no es el mismo. Quiero dejar eso claro… Pues bien, para comprimir un fichero:
gzip documento.txt
Eso genera un fichero llamado igual al original con la extensión .gz, en el ejemplo anterior sería documento.txt.gz. En cambio, para modificar el nombre de salida por uno concreto:
gzip -c documento.txt > nuevo_nombre.gz
Para descomprimir lo que ya está comprimido, es igualmente sencillo, aunque podemos usar dos comandos diferentes con igual efecto:
gzip -d documento.gz
gunzip documento.gz
Y obtendremos el fichero descomprimido sin extensión .gz.
Trabajando con bzip2
En cuanto a bzip2, es similar al anterior programa, pero con un algoritmo de compresión diferente llamado Burrows-Wheeler y Huffman coding. La extensión que tenemos en este caso es .bz2. Para poder comprimir un fichero, tan solo debemos usar:
bzip2 documento.txt
Con lo que se consigue un documento.txt.bz2 comprimido. Igualmetne podemos variar el nombre de salida con la opción -c:
bzip2 -c documento.txt > nombre.bz2
Para la descompresión serí ausar la opción -d o la herramienta bunzip2 que es un alias:
bzip2 -d documento.bz2
gunbzip2 documento.bz2
Para más información puedes usar man seguido del comando…
Te esperamos en los próximos artículos en donde hablaremos mas acerca de estos temas que hoy en día son de importancia e interés en el mundo de la tecnología.