Introducción
En este artículo vamos a aprender cómo comprimir archivos usando la herramienta de compresión de archivos bz2 (comando bzip2 linux) y descomprimir el archivo comprimido bz2. bzip2 es una herramienta de compresión de código abierto similar a la herramienta de compresión zip y gzip utilizada para comprimir archivos de gran tamaño para reducir su tamaño. bzip2 puede comprimir archivos, no directorios. bzip2 ofrece más compresión en comparación con gzip y zip. El comando bzip2 de Linux fue desarrollado por Julian Seward en el año 1996 y lanzado bajo la licencia de estilo BSD.
Por qué necesitamos comprimir un archivo. Tomemos un ejemplo. Suponga que desea enviar un correo a alguien con un archivo adjunto. pero el tamaño de su archivo adjunto es mayor que el límite de tamaño de archivo adjunto permitido. En ese caso, puede utilizar la herramienta de compresión de archivos bz2 (comando bzip2 de Linux) para comprimir el archivo y reducir su tamaño. Algunas características principales de la herramienta de compresión de archivos bz2 incluyen:
- Es una aplicación multiplataforma disponible para los principales sistemas operativos, es decir, Linux, Microsoft Windows, MacOS.
- Puede recuperar datos de un archivo bz2 dañado.
- Disponible para sistemas operativos de 32 y 64 bits.
- Puede crear la mejor y más rápida compresión de los archivos.
Ahora echemos un vistazo al comando bzip2 de Linux con ejemplos:
Comprimir un archivo
Comprime un archivo usando el comando bzip2 de Linux.
$ bzip2 myfile.txt # Compress a File
Salida:
$ ls myfile.txt.bz2
Comprimir un archivo con una salida estándar
comando bzip2 con -c comprimirá el archivo con una salida estándar.
$ bzip2 -c myfile.txt > myfile.txt.bz2 # Compress a file with standard output
Salida:
$ ls myfile.txt myfile.txt.bz2
Comprime un archivo conservando el archivo de entrada (archivo de origen)
Normalmente, el comando bzip2 comprime el archivo y elimina el archivo de origen, pero el comando bzip2 con el argumento -k comprimirá el archivo manteniendo el archivo de origen sin eliminar.
$ bzip2 -k myfile.txt # Compress file without delete Input file
Salida:
$ ls myfile.txt myfile.txt.bz2
Comprimir varios archivos a la vez
La herramienta de compresión de archivos bz2 (comando bzip2 de Linux) puede comprimir varios archivos a la vez. Para hacerlo, use el siguiente comando.
$ bzip2 myfile.txt myfile1.txt myfile2.txt myfile3.txt # Compress multiple files at once
Salida:
$ ls myfile1.txt.bz2 myfile2.txt.bz2 myfile3.txt.bz2 myfile.txt.bz2
Comprobar la integridad de un archivo específico
comando bzip2 linux con argumento -t comprueba la integridad de un archivo bz2 especificado. Integridad en el sentido de que el archivo bz2 es un archivo válido o no. Puede hacerlo usando el siguiente comando. Si el archivo es válido, no obtendrá resultados.
$ bzip2 -t myfile.txt.bz2 # Check the Integrity of the bz2 file
Pero si el archivo bz2 no es un archivo válido, obtendrá un error. Para demostrarlo, creemos un archivo bzip2 usando el comando táctil y luego verifiquemos la integridad.
$ touch myfile.txt.bz2
$ bzip2 -t myfile.txt.bz2 bzip2: myfile.txt.bz2: file ends unexpectedly
Puede usar el “bzip2recover ” programa para intentar recuperar datos de secciones no dañadas de archivos dañados. Como puede ver arriba, obtuvimos el error porque no creamos este archivo usando el comando bzip2 de Linux, por lo tanto, no es un archivo bz2 válido.
Descomprimir/Extraer/Descomprimir archivo bz2
El comando bzip2 con el argumento -d descomprimirá el archivo bzip2.
$ bzip2 -d myfile.txt.bz2 # Uncompress a file
Salida:
$ ls myfile.txt
También puede usar el comando bunzip2 para descomprimir el archivo bz2. Consulte el comando a continuación.
$ bunzip2 myfile.txt.bz2
Salida:
$ ls myfile.txt
Verifique el contenido de un archivo comprimido bz2 usando el comando bzcat
Puede verificar el contenido de un archivo comprimido sin extraerlo. Para hacerlo tenemos que usar el comando bzcat. Consulte el comando a continuación.
$ bzcat myfile.txt.bz2 # Check content of a Compressed file Welcome to thegeekdiary.com
Comprimir un archivo a la fuerza
Comando bzip2 con argumento -f creará un archivo bz2 con fuerza. Consulte el comando a continuación.
$ bzip2 -f myfile.txt # Compress a file forcefully
$ ls myfile.txt.bz2
Comprime un directorio con la herramienta de compresión de archivos bz2
Al usar el único comando bzip2 de Linux, no podemos comprimir un directorio, pero el comando bzip2 con el comando tar puede comprimir un directorio. Use el siguiente comando para hacer lo mismo.
$ tar -cjvf data.tar.bz2 data/ # Compress a Directory data/ data/myfile3.txt data/myfile2.txt data/myfile1.txt
Salida:
$ ls data data.tar.bz2
Aquí el argumento -j es para compresión bzip2.
Niveles de compresión
Hay 9 niveles de compresión disponibles en cada herramienta de compresión. Los niveles son 1,2…9. Aquí te mostraré dos niveles. es decir, Nivel 1 y Nivel 9.
El nivel 1 proporciona una salida de compresión rápida. Consulte el siguiente comando.
$ bzip2 -1 myfile.txt # 1 for Fast Compression
El nivel 9 ofrece la mejor salida de compresión. Consulte el siguiente comando.
$ bzip2 -9 myfile.txt # 9 for Best Compression
Verifique la versión de licencia y paquete del comando bzip2 Linux
Utilice el comando bzip2 con el argumento -L para verificar la versión de licencia y paquete de la herramienta de compresión de archivos bz2.
$ bzip2 -L # Check Version & License bzip2, a block-sorting file compressor. Version 1.0.6, 6-Sept-2010. Copyright (C) 1996-2010 by Julian Seward. This program is free software; you can redistribute it and/or modify it under the terms set out in the LICENSE file, which is included in the bzip2-1.0.6 source distribution. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the LICENSE file for more details.
Para obtener más ayuda e información sobre el comando bzip2 Linux, puede usar el siguiente comando.
$ man bzip2 # Access bzip2 manual page