Las compresiones de archivos se llevan a cabo de acuerdo con algoritmos específicos. Existen muchas técnicas de compresión, y una de ellas se logra a través de bzip2 . En este tutorial, aprenderemos los conceptos básicos de bzip2 usando algunos ejemplos fáciles de entender. Tenga en cuenta que todos los ejemplos utilizados en este artículo se han probado en una máquina con Ubuntu 18.04LTS.
Comando Linux bzip2
bzip2 es un compresor de archivos basado en la línea de comandos en Linux que utiliza el algoritmo de compresión de texto de clasificación de bloques Burrows-Wheeler y la codificación Huffman para llevar a cabo el proceso de compresión. La siguiente es su sintaxis:
bzip2 [OPTIONS] filenames ...
Y esto es lo que dice la página de manual 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.
Los siguientes son algunos ejemplos de preguntas y respuestas que le darán una buena idea de cómo funciona el comando bzip2.
P1. ¿Cómo comprimir un archivo usando bzip2?
El uso básico es muy simple:simplemente pase el archivo a comprimir como entrada al comando bzip2. He aquí un ejemplo:
bzip2 list.txt
La siguiente captura de pantalla muestra el comando en acción:
P2. ¿Cómo comprimir varios archivos usando bzip2?
Simple:solo pase los nombres de archivo como entrada. Vea el siguiente ejemplo:
bzip2 list.txt list1.txt list2.txt
Q3. ¿Cómo descomprimir usando bzip2?
Para la descompresión, use la opción de línea de comando -d. He aquí un ejemplo:
bzip2 -d list.txt.bz2
P4. ¿Cómo hacer que bzip2 no elimine el archivo de entrada?
De forma predeterminada, cuando bzip2 comprime un archivo, elimina el archivo original (o de entrada). Sin embargo, si no quiere que eso suceda, use la opción de línea de comando -k.
El siguiente es un ejemplo:
P5. ¿Cómo hacer que bzip2 muestre detalles para cada operación de compresión?
Esto se puede hacer usando la opción de línea de comando -v. Así es como lo explica la página man:
-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.
El siguiente es un ejemplo que muestra la salida del comando bzip2 cuando se usa -v:
P6. ¿Cómo comprobar la integridad de un archivo comprimido?
El comando bzip2 también se puede usar para verificar la integridad de un archivo .bz2 (una prueba que asegura que el archivo no esté dañado o haya cambiado desde que se creó). Esto se puede hacer usando la opción de línea de comando -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 todo lo que hemos discutido aquí debería ser suficiente para comenzar. Una vez que haya terminado de practicar las opciones que hemos discutido en este tutorial, puede dirigirse a la página de manual de la herramienta para obtener más información al respecto.