Introducción
El tar
permite crear y extraer archivos tar. Admite una amplia gama de programas de compresión como gzip, bzip2, lzip, lzma, lzop, xz y compress.
Xz es un algoritmo popular para la compresión de archivos basado en el algoritmo LZMA. Por convención, el nombre de un archivo tar comprimido xz termina con.tar.xz o .txz.
Este artículo explica cómo usar el tar
para extraer (o descomprimir) archivos .tar.xz o .txz.
Instalar la utilidad tar
La utilidad tar está preinstalada de forma predeterminada en la mayoría de las distribuciones de Linux y macOS.
Para instalar la utilidad tar
en CentOS, Red Hat y Fedora escriba el siguiente comando:
sudo dnf install tar
Para instalar la utilidad tar
en Debian, Ubuntu, Linux Mint y derivados:
sudo apt-get install tar
Extraiga el archivo tar.xz
Para extraer un archivo tar.xz, emita el tar
con la --extract
( -x
) y especifique el nombre del archivo después de la opción -f
tar -xf archive.tar.xz
tar
detecta automáticamente el tipo de compresión y extrae el archivo. El mismo comando se puede utilizar para extraer archivos tar comprimidos con otros algoritmos, como .tar.gz o .tar.bz2.
Si la línea de comandos no es lo tuyo, puedes usar el administrador de archivos GUI. Para extraer (descomprimir) un archivo tar.xz, simplemente haga clic derecho en el archivo que desea extraer y seleccione "Extraer". Los usuarios de Windows necesitan una herramienta llamada 7zip para extraer archivos tar.xz.
Para una salida más detallada, use la opción -v
Esta opción le dice a tar
que muestre los nombres de los archivos extraídos en la terminal.
tar -xvf archive.tar.xz
Por defecto, tar
extrae el contenido del archivo en el directorio de trabajo actual. Para extraer archivos de almacenamiento a un directorio específico, use la --directory
( -C
).
El siguiente ejemplo muestra cómo extraer el contenido del archivo al /home/noviello/files
:
tar -xf archive.tar.xz -C /home/noviello/files
Extraiga archivos específicos de un archivo tar.xz
Para extraer uno o más archivos específicos de un archivo tar.xz, agregue una lista de nombres de archivo separados por espacios para extraer después del nombre del archivo:
tar -xf archive.tar.xz file1 file2
Al extraer los archivos, debe proporcionar los nombres exactos, incluida la ruta, que se puede ver cuando se invoca tar
--list
( -t
).
Extraer uno o más directorios de un archivo es equivalente a extraer varios archivos:
tar -xf archive.tar.xz dir1 dir2
Si intenta extraer un archivo que no existe en el archivo, se mostrará un mensaje de error similar al siguiente:
tar -xf archive.tar.xz README
tar: README: Not found in archive
tar: Exiting with failure status due to previous errors
La --wildcards
permite extraer archivos de un archivo tar.xz basándose en un patrón de comodines. El patrón debe estar entre comillas para evitar que el shell lo interprete.
Por ejemplo, para extraer solo archivos cuyos nombres terminen en .png
, usaría:
tar -xf archive.tar.xz --wildcards '*.png'
Extraiga el archivo tar.xz de stdin
Al extraer un archivo tar.xz comprimido leyendo el archivo desde la entrada estándar (generalmente a través de tuberías), se debe especificar la opción de descompresión. La -J
le dice a tar
que el archivo está comprimido con xz.
En el siguiente ejemplo, estamos descargando el kernel de Linux usando el wget
y redirigiendo su salida al comando tar
wget -c https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.5.3.tar.xz -O - | sudo tar -xj
Si no especifica una opción de descomprimir, tar
le mostrará qué opción debe usar:
tar: Archive is compressed. Use -J option
tar: Error is not recoverable: exiting now
Enumere el contenido del archivo tar.xz
Para enumerar el contenido de un archivo tar.xz, use la --list
( -t
):
tar -tf archive.tar.xz
La salida se verá así:
file1
file2
file3
Si agrega la --verbose
( -v
), se imprimirá información adicional, como el propietario, el tamaño del archivo, la marca de tiempo, etc.
tar -tvf archive.tar.xz
-rw-r--r-- noviello/users 0 2020-01-05 03:11 file1
-rw-r--r-- noviello/users 0 2020-01-05 03:11 file2
-rw-r--r-- noviello/users 0 2020-01-05 03:11 file3
Conclusión
El archivo tar.xz es un archivo Tar comprimido con xz. Para extraer un archivo tar.xz, use el tar -xf
, seguido del nombre del archivo.