Inicio > Compresión/Archivado > tar

tar: Creación y extracción de archivos (paquetes de ficheros)

Es una herramienta esencial utilizada para agrupar varios archivos y directorios en un solo archivo .tar (archivado) o para extraer los archivos agrupados a su estado original. A menudo se utiliza con funciones de compresión como Gzip (-z) o Bzip2 (-j).

¿Qué es tar?

tar es la abreviatura de 'Tape Archive' (Archivo de Cinta) y fue creado originalmente para hacer copias de seguridad de datos en cintas magnéticas. Hoy en día, se utiliza como una herramienta estándar de Linux para agrupar múltiples archivos y directorios en un solo archivo para facilitar su gestión o transferencia. tar solo agrupa los archivos; la compresión se especifica mediante opciones separadas (-z, -j, -J).

Modos de operación clave

tar opera en un modo principal a la vez (crear, extraer, listar).

  • -c (Create): Crea un nuevo archivo.
  • -x (Extract): Extrae archivos de un archivo.
  • -t (List): Verifica el contenido (lista) de un archivo sin descomprimirlo.
  • -f (File): Especifica el 'archivo' de destino. Es esencial para casi todas las operaciones.

Opciones principales (Shell)

tar se usa combinando opciones. Lo más importante es elegir una de `-c`, `-x`, o `-t`.

1. Modo de operación (seleccione uno)

2. Especificar archivo y compresión

3. Destino y funciones adicionales

Comando generado:

Combina los comandos.

Descripción:

`tar` Ejecutando el comando.

Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.

Ejemplos de escenarios de uso (Shell)

Ejemplos de las combinaciones más frecuentes. (El guion `-` delante de las opciones se puede omitir, pero es mejor especificarlo).

Crear archivo comprimido con gzip (.tar.gz)

tar -cvzf backup.tar.gz /home/user/data

c(crear), v(detallado), z(gzip), f(archivo) + [archivo_resultante] + [destino]

Descomprimir archivo gzip (.tar.gz)

tar -xvzf backup.tar.gz

x(extraer), v(detallado), z(gzip), f(archivo) + [archivo_de_destino]

Ver el contenido de un archivo comprimido (.tar.gz)

tar -tvf backup.tar.gz

t(listar), v(detallado), f(archivo) (tar moderno detecta -z automáticamente)

Descomprimir en un directorio específico

tar -xvzf backup.tar.gz -C /opt/restore

Especifica la ruta con la opción -C.

Crear archivo comprimido con bzip2 (.tar.bz2)

tar -cvjf archive.tar.bz2 ./docs

Usa la opción j(bzip2) en lugar de z.

Descomprimir archivo bzip2 (.tar.bz2)

tar -xvjf archive.tar.bz2

Comprimir excluyendo archivos/directorios específicos

tar -cvzf app.tar.gz ./app --exclude="*.log" --exclude="node_modules"

Usa la opción --exclude. (Se puede usar varias veces)

Instalación

tar está instalado por defecto en casi todas las distribuciones de Linux (y macOS). (Generalmente GNU tar). Si por alguna razón necesita instalarlo, puede hacerlo con el nombre de paquete 'tar'.

Instalado por defecto

Rara vez se necesita una instalación separada. Intente `tar --version` para verificar la versión.

Debian/Ubuntu (si es necesario)

sudo apt update && sudo apt install -y tar

RHEL/CentOS/Fedora (si es necesario)

sudo dnf install -y tar

Consejos y precauciones

Consejos útiles

  • Omisión del guion (-): Por una antigua convención, se puede omitir el guion para el primer grupo de opciones, como `tar cvf ...` (por ejemplo: `tar cvf` = `tar -cvf`). Sin embargo, se recomienda usar el guion para mayor claridad.
  • Detección automática de compresión: Las versiones modernas de `tar` pueden detectar automáticamente el tipo de compresión basándose en la extensión del archivo, incluso sin las opciones `-z`, `-j` o `-J` al extraer (-x). (Por ejemplo, basta con `tar -xf archive.tar.gz`).
  • Preservación de permisos (-p): Al restaurar una copia de seguridad del sistema, es crucial usar la opción `-p` para preservar los permisos y la propiedad originales de los archivos.
  • Problemas de ruta (-C): Si desea extraer archivos en una ubicación diferente a la actual, usar la opción `-C /ruta` es mucho más eficiente que mover los archivos después.
  • Cuidado con las rutas absolutas: Si agrupa archivos con una ruta absoluta como `/home/user` al crear (-c), al extraer (-x), los archivos se descomprimirán en esa misma ruta absoluta. (Las versiones modernas de tar a veces eliminan el `/` inicial por seguridad). Es más seguro agrupar con rutas relativas, como `cd /home && tar -cvf user.tar ./user`.

comandos relacionados

Son comandos que son funcionalmente similares o que se usan juntos con frecuencia.



Comandos de la misma categoría