Linux / Comando tar: crear, listar y extraer archivos tar

tar agrupa archivos y directorios en un contenedor y también permite listar o extraer su contenido. Un archivo .tar no implica compresión: puede combinarse con gzip, bzip2 o xz para reducir su tamaño.

Un archivo tar conserva nombres, datos y estructura de directorios en un contenedor. En GNU tar, -c crea, -t lista y -x extrae; -f indica el nombre del contenedor. Las opciones -z, -j y -J seleccionan gzip, bzip2 y xz, respectivamente. Revise los miembros y el destino antes de extraer.

Sintaxis básica

tar [operación] [opciones] -f archivo_tar [archivo_o_directorio ...]

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

Ejemplos de uso

Crear un archivo comprimido gzip

El ejemplo requiere un directorio project/ existente con datos de prueba. Elija un nombre de salida nuevo: crear project.tar.gz con el mismo nombre de un archivo previo puede reemplazarlo.

tar -czf project.tar.gz project/

Verificar la lista antes de extraer

Primero, lista los miembros para determinar la ubicación de extracción y los nombres de los archivos.

tar -tzf project.tar.gz

Extraer en el directorio especificado

Seleccione un destino vacío y separado. mkdir -p restore crea el directorio si no existe, pero no comprueba que uno existente esté vacío; revíselo o elija otro nombre antes de extraer.

mkdir -p restore
tar -xzf project.tar.gz -C restore/

Verificar la lista interna del archivo

El bloque siguiente crea note.txt y un contenedor sin compresión, bundle.tar, y después lista su miembro. Ejecútelo en un directorio de prueba vacío para no reemplazar archivos anteriores.

printf 'hello\n' > note.txt
tar -cf bundle.tar note.txt
tar -tf bundle.tar

Ejemplo de salida:

note.txt

-c es para crear, -t es para la lista, -f es para especificar el archivo comprimido. .tar en sí no significa compresión, y se puede combinar con compresiones separadas como -z·-J. Antes de descomprimir un archivo no confiable, verifique si hay rutas absolutas o movimientos a directorios superiores en la ruta interna y extráigalo en un directorio de trabajo separado.

Opciones y formatos principales

Opción o formato Descripción
-c / -t / -x Seleccione una de las acciones: crear, listar o extraer.
-f archivo Indica el archivo tar que se leerá o escribirá, con o sin compresión.
-z / -j / -J Use compresiones gzip·bzip2·xz respectivamente.
-C directorio Cambie el directorio de trabajo base.
-v Muestra el nombre del archivo que se está procesando.

Precauciones al usar

Evite extraer archivos tar desconocidos con permisos administrativos. Revise sus rutas, enlaces y posibles conflictos y use un destino vacío y aislado. Crear de nuevo un contenedor existente con tar -cf lo reemplaza: no añade miembros al contenido anterior.

Preguntas frecuentes

¿Cuál es la diferencia entre tar y gzip?

tar agrupa varios archivos y rutas en un solo conjunto, mientras que gzip comprime un flujo de datos. tar -czf es un comando que combina ambas funciones.

Documentación oficial

Puede consultar el comportamiento exacto de las opciones y las diferencias según la implementación en la documentación oficial relacionada con tar.