compress

La compresión es bastante útil cuando se realizan copias de seguridad de archivos importantes y también se envían archivos de gran tamaño a través de Internet. Ten en cuenta que la compresión de un archivo ya comprimido agrega una sobrecarga adicional, por lo tanto, obtendrás un archivo ligeramente más grande. Hay muchos programas para comprimir y descomprimir archivos en GNU/Linux. En este tutorial, vamos a aprender sobre dos aplicaciones solamente.

Comprimir y descomprimir archivos.

Los programas más comunes utilizados para comprimir archivos en sistemas tipo Unix son:

  1. gzip
  2. bzip2

1. Comprimir y descomprimir archivos usando el programa Gzip
Gzip es una utilidad para comprimir y descomprimir archivos utilizando el algoritmo de codificación Lempel-Ziv (LZ77).

1.1 Comprimir archivos

Para comprimir un archivo llamado ejemplo.txt, reemplazándolo con una versión comprimida comprimida, ejecuta:

$ gzip ejemplo.txt

Gzip reemplazará el archivo original ejemplo.txt con una versión comprimida llamada ejemplo.txt.gz.

El comando gzip también puede usarse de otras maneras. Un buen ejemplo es que podemos crear una versión comprimida de la salida de un comando específico. Mira el siguiente comando.

$ ls -l Downloads/ | gzip > ejemplo.txt.gz

El comando anterior crea una versión comprimida de la lista de directorio de la carpeta Descargas.

1.2 Comprimir los archivos y escribir los resultados en diferentes archivos (No reemplazar el archivo original)

Por defecto, el programa gzip comprimirá el archivo dado, reemplazándolo con una versión comprimida. Sin embargo, puede conservar el archivo original y escribir el resultado en salida estándar. Por ejemplo, el siguiente comando, comprime ejemplo.txt y escribe el resultado en output.txt.gz.

$ gzip -c ejemplo.txt > output.txt.gz

Del mismo modo, para descomprimir un archivo comprimido que especifica el nombre del archivo de salida:

$ gzip -c -d output.txt.gz > ejemplo1.txt

El comando anterior descomprime el archivo output.txt.gz y escribe el resultado en el archivo ejemplo1.txt. En ambos casos, no eliminará el archivo original.

1.3 Descomprimir archivos

Para descomprimir el archivo ejemplo.txt.gz, reemplazándolo con la versión original sin comprimir, hacemos:

$ gzip -d ejemplo.txt.gz

También podemos usar gunzip para descomprimir los archivos.

$ gunzip ejemplo.txt.gz

1.4 Ver el contenido de los archivos comprimidos sin descomprimirlos

Para ver el contenido del archivo comprimido usando gzip sin descomprimirlo, usa el indicador -c como se muestra a continuación:

$ gunzip -c ejemplo1.txt.gz

Alternativamente, usa la utilidad zcat como a continuación.

$ zcat ejemplo.txt.gz

También puedes canalizar la salida al comando “less” para ver la página de salida por página como a continuación.

$ gunzip -c ejemplo1.txt.gz | less
$ zcat ejemplo.txt.gz | less

Alternativamente, hay un programa, zless que realiza la misma función que la tubería anterior.

$ zless ejemplo1.txt.gz

1.5 Comprimir el archivo con gzip especificando el nivel de compresión

Otra ventaja notable de gzip es que admite el nivel de compresión. Admite 3 niveles de compresión como se indica a continuación.

1 – Más rápido (peor)
9 – Más lento (mejor)
6 – Nivel predeterminado
Para comprimir un archivo llamado ejemplo.txt, reemplazándolo con una versión comprimida con el mejor nivel de compresión, utilizamos:

$ gzip -9 ejemplo.txt

1.6 Concatenar múltiples archivos comprimidos

También es posible concatenar múltiples archivos comprimidos en uno. ¿Cómo? Echa un vistazo al siguiente ejemplo.

$ gzip -c ejemplo1.txt > output.txt.gz
$ gzip -c ejemplo2.txt >> output.txt.gz

Los dos comandos anteriores comprimirán ejemplo1.txt y ejemplo2.txt y los guardará en un archivo llamado output.txt.gz.

Puedes ver los contenidos de ambos archivos (ejemplo1.txt y ejemplo2.txt) sin extraerlos utilizando ninguno de los siguientes comandos:

$ gunzip -c output.txt.gz
$ gunzip -c output.txt
$ zcat output.txt.gz
$ zcat output.txt

Para más detalles:

$ man gzip

2. Comprimir y descomprima archivos usando el programa bzip2
Bzip2 es muy similar al programa gzip, pero usa un algoritmo de compresión diferente llamado algoritmo de compresión de texto de clasificación de bloques Burrows-Wheeler y codificación Huffman. Los archivos comprimidos con bzip2 finalizarán con la extensión .bz2.

Como dije, el uso de bzip2 es casi lo mismo que gzip. Simplemente reemplaza gzip en los ejemplos anteriores con bzip2, gunzip con bunzip2, zcatwith bzcat y así sucesivamente.

Para comprimir un archivo usando bzip2, reemplazándolo con una versión comprimida, ejecuta:

$ bzip2 ejemplo.txt

Si no quieres reemplazar el archivo original, usa el indicador -c y escribe el resultado en un nuevo archivo.

$ bzip2 -c ejemplo.txt > output.txt.bz2

Para descomprimir un archivo comprimido:

$ bzip2 -d ejemplo.txt.bz2

O,

$ bunzip2 ejemplo.txt.bz2

Para ver el contenido de un archivo comprimido sin descomprimirlo:

$ bunzip2 -c ejemplo.txt.bz2

O,

$ bzcat ejemplo.txt.bz2

Para más detalles del comando:

$ man bzip2

 

Fuente: Original | maslinux

¿Quién está en línea?

Hay 18873 invitados y ningún miembro en línea