Tutorial del comando bzip2 de Linux para principiantes (6 ejemplos)
Las compresiones de archivos se realizan según algoritmos específicos. Hay muchas técnicas de compresión, y una de ellas se consigue mediante bzip2. En este tutorial, aprenderemos los fundamentos de bzip2 utilizando algunos ejemplos fáciles de entender. Ten en cuenta que todos los ejemplos utilizados en este artículo han sido probados en una máquina Ubuntu 18.04LTS.
Comando bzip2 de Linux
bzip2 es un compresor de archivos basado en la línea de comandos de Linux que utiliza el algoritmo de compresión de texto de ordenación de bloques Burrows-Wheeler y la codificación Huffman para llevar a cabo el proceso de compresión. A continuación se muestra su sintaxis:
bzip2 [OPTIONS] filenames ...
Y esto es lo que dice la página man sobre esta herramienta:
bzip2 compresses files using the Burrows-Wheeler block sorting text
compression algorithm, and Huffman coding. Compression is generally
considerably better than that achieved by more conventional
LZ77/LZ78-based compressors, and approaches the performance of the PPM
family of statistical compressors.
The command-line options are deliberately very similar to those of GNU
gzip, but they are not identical.
bzip2 expects a list of file names to accompany the command-line flags.
Each file is replaced by a compressed version of itself, with the name
"original_name.bz2". Each compressed file has the same modification
date, permissions, and, when possible, ownership as the corresponding
original, so that these properties can be correctly restored at decom?
pression time. File name handling is naive in the sense that there is
no mechanism for preserving original file names, permissions, owner?
ships or dates in filesystems which lack these concepts, or have seri?
ous file name length restrictions, such as MS-DOS.
A continuación se presentan algunos ejemplos al estilo de las preguntas y respuestas que deberían darte una buena idea de cómo funciona el comando bzip2.
Q1. ¿Cómo se comprime un archivo con bzip2?
El uso básico es muy sencillo: basta con pasar el archivo a comprimir como entrada al comando bzip2. Aquí tienes un ejemplo:
bzip2 list.txt
La siguiente captura de pantalla muestra el comando en acción:
Q2. ¿Cómo comprimir varios archivos con bzip2?
Es sencillo: basta con pasar los nombres de los archivos como entrada. Mira el siguiente ejemplo:
bzip2 list.txt list1.txt list2.txt
Q3. ¿Cómo descomprimir con bzip2?
Para la descompresión, utiliza la opción de línea de comandos -d. Aquí tienes un ejemplo:
bzip2 -d list.txt.bz2
Q4. ¿Cómo hacer que bzip2 no borre el archivo de entrada?
Por defecto, cuando bzip2 comprime un archivo, borra el archivo original (o de entrada). Sin embargo, si no quieres que eso ocurra, utiliza la opción de línea de comandos -k.
A continuación se muestra un ejemplo:
Q5. ¿Cómo hacer que bzip2 muestre los detalles de cada operación de compresión?
Esto se puede hacer utilizando la opción de línea de comandos -v. Así es como lo explica la página de manual:
-v --verbose
Verbose mode -- show the compression ratio for each file processed. Further -v's
increase the verbosity level, spewing out lots of information which is primarily of
interest for diagnostic purposes.
A continuación se muestra un ejemplo que muestra la salida del comando bzip2 cuando se utiliza -v:
Q6. ¿Cómo se comprueba la integridad de un archivo comprimido?
El comando bzip2 también puede utilizarse para comprobar la integridad de un archivo .bz2 (una prueba que asegura que el archivo no está corrupto o ha cambiado desde su creación). Esto puede hacerse utilizando la opción de línea de comandos -t.
-t --test
Check integrity of the specified file(s), but don't decompress them.
This really performs a trial decompression and throws away the result.
Conclusión
La utilidad de línea de comandos bzip2 ofrece muchas más opciones, pero lo que hemos comentado aquí debería ser suficiente para que empieces. Una vez que hayas terminado de practicar las opciones que hemos discutido en este tutorial, puedes dirigirte a lapágina man de la herramienta para aprender más sobre ella.