Opciones de compresión de archivos Linux y comparación

Opciones de compresión de archivos Linux y comparación
La compresión, en general, es un método útil que esencialmente codifica información utilizando menos datos que el original. En el caso de Linux, hay varias opciones de compresión, cada una con sus propios beneficios.

Una distribución genérica de Linux ofrece acceso a un puñado de mecanismos de compresión realmente útiles y simples. Este artículo solo se centrará en ellos.

Tipos de compresión

La compresión está codificando y representando información utilizando menos bits de lo que originalmente era. En el caso de compresión de archivos, un método de compresión utiliza su propio algoritmo y cálculo matemático para generar una salida que generalmente es menor que el tamaño del archivo original. Debido a cómo funciona la compresión diferente y la naturaleza aleatoria de los archivos, el kilometraje puede variar mucho.

Hay 2 tipos de compresión.

  • Compresión con pérdida: Este es un tipo de compresión arriesgado que no garantiza la integridad de los datos. Esencialmente, una vez comprimido, existe el riesgo de que el archivo original no se pueda reconstruir utilizando el archivo comprimido.
    Un ejemplo sólido de este tipo de compresión es el conocido formato MP3. Cuando se crea un MP3 a partir del archivo de audio original, es significativamente más pequeño que el archivo de música fuente original. Esto causa la pérdida de cierta calidad de audio.
  • Compresión sin perdidas: Este es el tipo de compresión más utilizado. Usando un método de compresión "sin pérdida", el archivo original se puede reconstruir a partir del archivo comprimido. Los métodos de compresión que discutiré en este artículo son todos métodos de compresión sin pérdidas.

Compresión de Linux

La mayoría de los métodos de compresión están disponibles en la herramienta alquitrán. En cuanto a la compresión "zip", usaremos el cremallera herramienta. Suponiendo que su sistema ya tenga estas herramientas instaladas, comencemos.

Al principio, necesitamos un archivo de prueba. Ejecute el siguiente comando para crear uno.

$ base64 /dev /urandom | jefe -c 20000000> archivo.TXT

Creará un archivo de texto con un tamaño de 20 MB.

Ahora, creemos 10 copias del archivo. Juntos, son 200 MB.

Zip para la compresión

Zip es bastante común. Para crear un archivo zip, la herramienta zip requiere la siguiente estructura de comando.

$ zip .cremallera

Para comprimir todos los archivos en el directorio de prueba en un solo archivo zip, ejecute este comando.

Prueba de $ zip.cremallera *

El tamaño de entrada fue de 200 MB. Después de la compresión, ahora es 152 MB!

Por defecto, la herramienta ZIP aplicará la compresión de desinflar. Sin embargo, también es capaz de usar la compresión BZIP2. No solo eso, también puede crear archivos ZIP protegidos con contraseña! Aprenda más sobre ZIP.

Alquitrán para compresión en Linux

El alquitrán no es un método de compresión. En su lugar, se usa con mayor frecuencia para crear archivos. Sin embargo, puede implementar una serie de métodos de compresión populares para el archivo.

Para manejar el archivo de alquitrán (también conocido como "tarball"), está la herramienta de alquitrán. Aprenda más sobre alquitrán. En general, la herramienta TAR utiliza la siguiente estructura de comando.

$ alquitrán

Para agregar los archivos de prueba en un solo archivo de alquitrán, ejecute el siguiente comando.

Prueba de $ tar -cvf.alquitrán *

Aquí, el tamaño del archivo sigue siendo el mismo.

GZIP para compresión en Linux

GNU ZIP o GZIP es otro método de compresión popular que, en mi opinión, es mejor que la cremallera tradicional debido a su mejor compresión. Es un producto de código abierto creado por Mark Adler y Jean-Loup Gailly que originalmente estaba destinado a reemplazar el UNIX comprimir utilidad.

Para la gestión de los archivos de GZIP, hay 2 herramientas disponibles: alquitrán y gzip. Veamos a los dos.

Primero, la herramienta GZIP. Así es como se ve la estructura del comando gzip.

$ gzip

Por ejemplo, el siguiente comando reemplazará a Test1.txt con test1.TXT.Archivo comprimido GZ.

$ gzip -v test1.TXT

Si desea comprimir un directorio completo con GZIP, ejecute este comando. Aquí, la bandera "-r" es para la compresión "recursiva". GZIP pasará por todas las carpetas y comprimirá los archivos individuales en cada uno de ellos.

$ gzip -r

GZIP admite varios valor de resistencia a la compresión, comenzando desde 1 (menos compresión, más rápido) a 9 (mejor compresión, más lenta).

$ GZIP -V -9

Para un mejor control sobre la salida y la facilidad de uso, el alquitrán es mejor para la tarea. Ejecutar el siguiente comando.

Prueba de $ tar -cvzf.alquitrán.Gz *

El resultado es similar al ZIP usando DeFlate, lo que resulta en 152 MB después de la compresión.

BZIP2 para compresión en Linux

BZIP2 es una herramienta gratuita y de código abierto que utiliza el algoritmo Burrows-Wheeler para la compresión. Introducido por primera vez en 1996, BZIP2 se usa en gran medida como alternativa a la compresión GZIP.

Al igual que GZIP, hay 2 herramientas para trabajar con BZIP2: Tar y Bzip2.

La herramienta BZIP2 funciona de manera similar a la herramienta GZIP. Solo puede funcionar con un solo archivo a la vez. Aquí está la estructura de comando.

$ bzip2

Comprimamos la prueba1.archivo txt. Aquí, el indicador "-V" es para modo detallado.

$ bzip2 -v test1.TXT

Similar a GZIP, BZIP2 también admite diferentes niveles de compresión, comenzando desde 1 (predeterminado, menos uso de memoria) a 9 (compresión extrema, alto uso de memoria).

$ bzip2 -v -9

La mejor manera de usar la compresión BZIP2 es usar alquitrán. Use el siguiente comando.

$ TAR -CVJF Test.alquitrán.BZ2 *

La compresión se mejora ligeramente que las anteriores. Ahora, el tamaño del archivo se ha reducido a 151.7 MB.

XZ para compresión en Linux

Es un recién llegado relativo en el campo de la compresión. Lanzado por primera vez en 2009, ha visto un crecimiento constante de uso desde entonces.

La herramienta de compresión XZ utiliza el algoritmo LZMA2 que es conocido por una mayor relación de compresión en comparación con GZIP y BZIP2, por lo que es una excelente opción cuando desea ahorrar la máxima cantidad de espacio en disco. Sin embargo, esto viene con el costo de los requisitos de memoria más altos y el consumo de tiempo.

El archivo creado por la herramienta de compresión XZ tiene la extensión .xz. Para comprimir un solo archivo, puede llamar directamente a la herramienta XZ.

$ xz

Por ejemplo, ejecute el siguiente comando para comprimir la prueba1.archivo txt.

$ xz -v test1.TXT

Similar a otros métodos de compresión mencionados, XZ también admite un rango de resistencia a la compresión, a partir de 1 (compresión más baja, más rápida) a 9 (mejor compresión, más lenta). Si no tiene ningún respeto por el tiempo y solo desea ahorrar espacio, entonces busque el extremo.

$ xz -v -9

Para crear un archivo XZ comprimido de todos los archivos de prueba, ejecute este comando.

$ TAR -CVJF Test.alquitrán.xz *

Aquí, el tamaño del archivo de salida es 153.7 MB.

Extracción de archivos comprimidos

Extraer los archivos que creamos es más fácil que crearlos. Para extraer un archivo zip, use la siguiente estructura de comando.

$ descifrado .zip -d

Para extraer el archivo zip que creamos, ejecute este comando. Esto extraerá todos los contenidos en el mismo directorio.

Prueba de $ descomprimido.cremallera

Para extraer alquitrán, alquitrán.Gz, alquitrán.BZ2 y alquitrán.XZ Archivos, tenemos que usar el alquitrán herramienta. El siguiente comando TAR es aplicable para extraerlos todos.

$ tar -xvf

Por ejemplo, extraemos todos los archivos del archivo comprimido BZ2.

Prueba de $ tar -xvf.alquitrán.bz2

Descomprimir un gzip (no alquitrán.archivo gz), ejecute este comando.

$ gzip -d

Del mismo modo, el siguiente comando descomprimirá el archivo BZIP2.

$ bzip2 -d

La misma estructura de comando se aplica para el archivo XZ.

$ xz -d

Pensamientos finales

Con suerte, ahora tiene suficiente conocimiento para manejar las tareas de compresión en diferentes circunstancias. Dependiendo del requisito específico, todos los métodos de compresión ofrecen características muy atractivas.

Una cosa importante a tener en cuenta es que el resultado de la compresión no será el mismo todo el tiempo. Con diferentes información de datos, la salida será diferente. Por ejemplo, en algunos casos, XZ puede ofrecer un resultado de compresión loco, mientras que en este ejemplo no. Lo mismo ocurre con otros métodos.

Para aprender más en profundidad sobre estas herramientas, consulte su página del hombre respectivo.

$ hombre zip