El comando xz es una de las utilidades más eficientes disponibles actualmente, ya que emplea el algoritmo LZMA2, conocido por ofrecer altas tasas de compresión manteniendo un consumo de recursos razonable.
Por este motivo, xz se ha convertido en el formato estándar en muchas distribuciones modernas (por ejemplo, los paquetes .tar.xz del kernel o de numerosas fuentes oficiales).
¿Para qué se usa el comando xz?
El comando xz se utiliza para:
- Comprimir archivos con mayor eficiencia que gzip o bzip2.
- Reducir significativamente el tamaño de backups o distribuciones de software.
- Descomprimir archivos en formato
.xz. - Trabajar junto con
tarpara generar archivos.tar.xz. - Ajustar el nivel de compresión según necesidades de CPU, memoria o velocidad.
- Automatizar tareas de archivado en scripts de administración.
Sintaxis básica
xz [opciones] archivoPor defecto:
- Comprime el archivo.
- Sustituye el original por el comprimido.
- Genera
archivo.xz.
Para descomprimir:
xz -d archivo.xzEjemplos prácticos del comando xz
A continuación se muestran algunos ejemplos prácticos de uso del comando, junto con una breve explicación de cada caso para entender mejor su funcionamiento.
Comprimir un archivo
xz backup.sqlResultado:
backup.sql.xzEl archivo original desaparece y queda reemplazado por la versión comprimida.
Mantener el archivo original
xz -k backup.sqlLa opción -k (keep) conserva el archivo sin comprimir, útil cuando no queremos perder el original.
Descomprimir un archivo
xz -d backup.sql.xzTambién puede usarse:
unxz backup.sql.xzMostrar información del proceso
xz -v backup.sqlSalida típica:
backup.sql (1/1)
100 % 32.4 MiB / 4.2 MiB = 7.710Permite ver el ratio de compresión obtenido.
Ajustar el nivel de compresión
xz -9 backup.sql-0→ más rápido, menos compresión-9→ máxima compresión, más lento
Usar todos los núcleos de CPU
xz -T0 backup.sql-T0 indica que use todos los hilos disponibles.
Muy útil en sistemas modernos para acelerar la compresión.
Comprimir múltiples archivos
xz logs/*.logCada archivo se comprimirá de forma independiente.
Enviar salida a stdout (modo pipeline)
xz -c backup.sql > backup.sql.xzLa opción -c escribe en salida estándar, ideal para scripts o tuberías.
Usar xz junto con tar
Uno de los usos más comunes:
tar -cJf backup_home.tar.xz /home/t3rr0rz0n3Donde:
-c→ crear archivo-J→ usar compresión xz-f→ nombre del archivo
Para extraer:
tar -xJf backup_home.tar.xzVer información de un archivo comprimido
xz -l backup_home.tar.xzSalida:
Strms Blocks Compressed Uncompressed Ratio Check Filename
1 1 42.0 MiB 310.0 MiB 0.135 CRC64 backup_home.tar.xzPermite analizar el nivel real de compresión sin descomprimir.
Forzar sobrescritura
xz -f backup.sqlSobrescribe archivos existentes sin preguntar.
Conclusión
El comando xz es una herramienta clave en GNU/Linux cuando la prioridad es maximizar la compresión y reducir el espacio ocupado por archivos grandes. Aunque su velocidad de compresión es menor que otras alternativas, su eficiencia lo convierte en el estándar moderno para archivado y distribución de software.
Bien utilizado, permite ahorrar almacenamiento, optimizar transferencias y mantener infraestructuras más eficientes, especialmente en servidores y entornos profesionales.
Comentarios