Linux / Comando xz: comprimir archivos, conservar originales y comprobarlos

xz comprime archivos en el formato .xz. Como es una herramienta de compresión de archivos individual, si desea conservar la estructura de directorios, debe combinarla con tar.

Por defecto, file se cambia a file.xz y el original se elimina. -k conserva el archivo original, -c envía la salida a la salida estándar, y -T se utiliza para especificar el número de hilos de compresión. Un nivel de compresión alto puede aumentar el tiempo de procesamiento y el uso de memoria, por lo que no es necesario elegir siempre el valor máximo.

Sintaxis básica

xz [opciones] [archivo ...]

La implementación instalada y las opciones pueden variar según la distribución. Verifique la descripción de man xz en el sistema actual.

Ejemplos de uso

Comprimir manteniendo el original

La opción -k conserva el archivo de entrada.

xz -k database.sql

Guardar el resultado de la compresión con un nombre separado

Los ejemplos presuponen archivos de texto existentes, como database.sql o note.txt, en el directorio actual. Use copias de prueba y sustituya esos nombres por los suyos. -c envía el comprimido a la salida estándar; la redirección > puede truncar un archivo de destino existente, por lo que debe comprobarlo antes de ejecutar.

xz -c database.sql > database-copy.sql.xz

Verificación del archivo comprimido

Comprueba los errores en los datos comprimidos sin crear el archivo real extraído.

xz -t database.sql.xz

Resultados de compresión y prueba de xz

xz comprime archivos individuales en el formato .xz. Por defecto, reemplaza el original, por lo que si desea conservar el original, use -k.

xz -k note.txt
xz -t note.txt.xz
ls note.txt*

Ejemplo de salida:

note.txt  note.txt.xz

xz -t comprueba la estructura de datos comprimidos y normalmente no muestra ningún mensaje si todo está bien. Si ya existe un archivo .xz, se niega a sobrescribirlo de forma predeterminada. Si desea combinar varios archivos en uno solo, combine el archivo con compresión como tar -cJf.

Opciones y formatos principales

Opción o formato Descripción
-k Mantiene los archivos de entrada procesados.
-c Envía los resultados a la salida estándar.
-t Verifica el archivo comprimido.
-0 ... -9 Seleccione el nivel de compresión.
-T hilos Especifique el número de hilos para la operación de compresión.

Precauciones al usar

La compresión predeterminada elimina el archivo de entrada después de completarse correctamente; use -k para conservarlo. Ajustes como -9e pueden necesitar más tiempo y memoria, también al descomprimir. El formato .xz no agrupa por sí solo un árbol de archivos y no cifra los datos: comprobar su integridad no demuestra la autenticidad del proveedor.

Preguntas frecuentes

¿Cuál es la diferencia entre xz y tar.xz?

.xz normalmente es un flujo de compresión de un solo archivo, mientras que .tar.xz es un archivo que agrupa varios archivos con tar y luego los comprime con xz.

Documentación oficial

El funcionamiento exacto de las opciones y las diferencias según la implementación se pueden consultar en la documentación oficial de xz.