Linux

¿Qué es tar y cómo se usa en Linux?

octubre 22, 2026 Qué es mejor? 12 min read
¿Qué es tar y cómo se usa en Linux?

La respuesta corta: qué hace tar y cómo conviene usarlo según tu caso

tar crea y extrae archivos contenedores. No comprime por sí mismo: agrupa muchos archivos y carpetas en uno solo .tar y, si añades una opción de compresión, lo reduce de tamaño a .tar.gz, .tar.bz2 o .tar.xz. Esa separación es la que explica sus opciones.

Para la mayoría: crea y extrae en .tar.gz. Es el equilibrio entre velocidad y tamaño y lo abre cualquier sistema Linux, macOS y Windows 10/11. Comando base:

tar -czf archivo.tar.gz carpeta/ para crear y tar -xzf archivo.tar.gz para extraer. -c crea, -x extrae, -z usa gzip, -f indica el archivo.

Si necesitas máxima compresión y no te importa esperar: usa .tar.xz con tar -cJf archivo.tar.xz carpeta/ y tar -xJf archivo.tar.xz. xz reduce más que gzip pero tarda más y consume más CPU y memoria, conviene para copias que vas a guardar mucho tiempo.

Si solo archivas sin comprimir para mover rápido entre discos o para ya comprimidos como JPG o MP4: usa .tar sin letra de compresión: tar -cf archivo.tar carpeta/ y tar -xf archivo.tar. Es lo más rápido porque no recalcula nada.

tar junta, gzip/bzip2/xz comprimen. Si recuerdas eso, las opciones -z/-j/-J dejan de ser letras sueltas.

Datos comprobados en septiembre de 2026. Versión de referencia: GNU tar 1.35.

Qué necesitas antes de empezar

Necesitas GNU tar instalado, una terminal y permisos de lectura sobre lo que vas a archivar y de escritura donde vas a crearlo o extraerlo. En casi todas las distribuciones Linux viene preinstalado.

Para verificar si está y qué versión usas, ejecuta en la terminal:

tar --version

Verás algo como tar (GNU tar) 1.35. Si el comando no existe, instálalo desde los repositorios de tu distribución. Funciona en Ubuntu, Linux Mint, Zorin OS, Fedora Workstation y Debian, todas funcionan en Linux y son gratuitas (0 EUR) sin coste de licencia. Ubuntu y Linux Mint traen tar de serie; en Fedora Workstation y Debian también, aunque Debian prioriza paquetes estables y puede traer una versión ligeramente anterior. Zorin OS, basado en Ubuntu, se comporta igual. Si usas Windows, tar está disponible desde Windows 10 1803 en cmd y PowerShell, pero las opciones de propietario y permisos de Linux no aplican.

Comprueba rutas antes de archivar: usa pwd y ls -l para confirmar dónde estás y que los archivos existen. Si vas a preservar propietarios, necesitarás sudo al extraer.

Qué es tar y qué no es: archivo vs compresión

tar nació como Tape Archiver para cintas y hoy junta archivos manteniendo estructura de carpetas, permisos, fechas y enlaces. Solo archivar genera .tar sin reducir tamaño: 1 GB de archivos ocupa 1 GB en el .tar más algo de cabecera.

La compresión la añade otro programa que tar invoca con una letra: -z llama a gzip para .tar.gz o .tgz, -j a bzip2 para .tar.bz2, -J a xz para .tar.xz. El resultado sí reduce tamaño, pero añade tiempo de CPU.

Usa .tar cuando la velocidad manda o el contenido ya está comprimido y no volverá a encoger, como fotos, vídeo o ZIP. Usa .tar.gz como opción por defecto para distribuir código, webs y copias diarias: compatible con todo y rápido. Usa .tar.bz2 si necesitas algo más de ahorro sin el coste de xz. Usa .tar.xz para archivado a largo plazo o para enviar por redes lentas donde cada MB cuenta.

No confundas .zip con tar: zip comprime cada archivo por separado y guarda menos metadatos de permisos Unix; tar mantiene el árbol Unix intacto.

Métodos comparados para usar tar

Elige método por extensión y por la letra que invoca el compresor. Todas las opciones usan GNU tar 1.35.

Método / Extensión Opción tar Velocidad Ratio de compresión Compatible para extraer con tar -xf sin letra
.tar sin comprimir -cf / -xf más rápida 1:1, sin reducción sí
.tar.gz / .tgz -z rápida medio, 30-60% de ahorro en texto sí
.tar.bz2 -j media medio-alto, mejor que gzip en texto sí
.tar.xz -J lenta alto, el mayor de los tres sí
.tar con compresor externo -I 'programa' sin dato depende del programa no siempre

La columna de velocidad y ratio son valores relativos verificables comparando el mismo conjunto de archivos: xz tarda entre 3 y 6 veces más que gzip en la misma máquina y reduce entre 10% y 30% más que gzip en archivos de texto y código. En archivos ya comprimidos como JPG, MP4 o PDF, los tres ratios se acercan a 0% de ahorro.

Desde GNU tar 1.20, tar -xf detecta solo el formato por la cabecera, por eso puedes extraer .tar.gz, .tar.bz2 y .tar.xz sin poner -z/-j/-J. Para crear sí debes indicar la letra. Si el fabricante o la documentación no publican el ratio exacto para tu contenido, compruébalo con du -sh carpeta antes y ls -lh archivo.tar.* después.

Método 1: crear y listar archivos tar

  1. Crea un .tar sin comprimir para agrupar sin esperar. Desde la carpeta padre ejecuta: tar -cf proyecto.tar proyecto/ . -c crea, -f nombra el archivo. Verifica con ls -lh proyecto.tar.
  2. Crea un .tar.gz para uso general. Ejecuta: tar -czf proyecto.tar.gz proyecto/ . Añadir -v muestra cada archivo: tar -czvf proyecto.tar.gz proyecto/. Es el que conviene a la mayoría.
  3. Crea un .tar.bz2 si quieres más ahorro con compatibilidad amplia: tar -cjf proyecto.tar.bz2 proyecto/.
  4. Crea un .tar.xz para máxima compresión en archivado: tar -cJf proyecto.tar.xz proyecto/ . En equipos con poca RAM puede tardar y consumir memoria; si falla, vuelve a .tar.gz.
  5. Lista el contenido sin extraer para comprobar qué guardaste. Usa: tar -tf proyecto.tar.gz para ver solo nombres o tar -tvf proyecto.tar.gz para ver permisos, tamaño y fecha. La t es de test/list.
  6. Filtra el listado si el archivo es grande: tar -tf proyecto.tar.gz | grep "\.jpg" para ver solo fotos.

Limitación: tar -t no verifica integridad del contenido más allá de la cabecera. Si el archivo se truncó al copiarlo, tar -tvf puede listar sin error y fallar al extraer. Para detectar truncados, compara el tamaño real con wc -c proyecto.tar.gz y revisa que no sea 0 o mucho menor de lo esperado, y vuelve a crearlo si dudas.

Método 2: extraer y actualizar archivos

  1. Extrae en la carpeta actual. Colócate donde quieres dejar los archivos y ejecuta: tar -xzf proyecto.tar.gz . Si es .tar.xz usa tar -xJf proyecto.tar.xz o simplemente tar -xf proyecto.tar.xz por autodetección. Para ver el proceso añade -v: tar -xzvf proyecto.tar.gz.
  2. Extrae a una carpeta concreta sin moverte. Crea el destino y usa -C: mkdir -p /tmp/restaurado && tar -xzf proyecto.tar.gz -C /tmp/restaurado . Si la carpeta no existe, tar da Cannot open: No such file or directory.
  3. Extrae solo archivos concretos sin descomprimir todo. Lista primero con tar -tf para copiar la ruta exacta y luego: tar -xzf proyecto.tar.gz proyecto/docs/manual.pdf proyecto/img/logo.png . Respeta la ruta interna tal como aparece en el listado.
  4. Añade archivos a un .tar existente con -r: tar -rf proyecto.tar nuevo_archivo.txt . Útil para completar una copia sin recrearla.
  5. Actualiza solo si el archivo es más nuevo con -u: tar -uf proyecto.tar archivo_modificado.txt . Compara fecha de modificación y solo sustituye si es posterior.

Limitación: -r y -u no funcionan sobre archivos comprimidos .tar.gz, .tar.bz2 ni .tar.xz. Si lo intentas, tar responde Cannot update compressed archives. La solución es descomprimir, actualizar y volver a comprimir: gunzip proyecto.tar.gz, tar -rf proyecto.tar nuevo_archivo, gzip proyecto.tar, o crear de nuevo con tar -czf proyecto_nuevo.tar.gz proyecto/.

Método 3: archivar con filtros y preservando permisos

  1. Incluye varias rutas en un solo archivo. Puedes pasar carpetas y archivos sueltos: tar -czf backup.tar.gz /home/usuario/docs /home/usuario/fotos lista.csv . Mantiene la estructura relativa si usas rutas relativas.
  2. Excluye lo que no quieres guardar con --exclude. Para saltarte cachés y node_modules: tar -czf web.tar.gz --exclude='*.log' --exclude='node_modules' --exclude='.git' proyecto/ . El patrón con comillas evita que el shell lo expanda antes.
  3. Excluye por archivo de patrones si son muchos: crea exclusiones.txt con una regla por línea y usa tar -czf backup.tar.gz -X exclusiones.txt proyecto/.
  4. Preserva permisos, fechas y propietarios al crear y al extraer. Al crear, tar guarda permisos por defecto; al extraer, añade -p para forzarlos: sudo tar -xzpf backup.tar.gz -C / . Sin -p y sin sudo, los archivos extraídos toman tu usuario actual. Para auditoría, añade --same-owner y --preserve-permissions.
  5. Crea archivos reproducibles y ordenados para comparar copias con --sort=name: tar --sort=name -czf backup.tar.gz proyecto/ . Así el orden interno es alfabético y dos ejecuciones sobre los mismos archivos generan el mismo orden.

Limitación: --exclude depende de cómo escribas la ruta. Si archivas proyecto/ y excluyes proyecto/cache, pero dentro hay ./proyecto/cache, el patrón puede no coincidir. Verifica siempre con tar -tf backup.tar.gz | sort antes de borrar el original. La preservación de propietario solo funciona si extraes como root; como usuario normal verás Cannot change ownership.

Si no funciona: errores frecuentes y cómo comprobar el archivo

  • tar: Cannot open: No such file or directory al crear o extraer. Causa: la ruta del archivo .tar.gz o la carpeta destino con -C no existe o escribiste mal el nombre. Comprueba con ls -l ruta/ y crea la carpeta con mkdir -p destino antes de extraer.
  • tar: No such file or directory al añadir con -r. Causa: intentas añadir un archivo que no está donde lo indicas o usas ruta absoluta cuando archivaste relativa. Usa pwd y ls y pasa la ruta exacta.
  • gzip: stdin: not in gzip format o bzip2: Data integrity error al extraer. Causa: el archivo no es .tar.gz aunque lo parezca, se descargó incompleto o intentas -z sobre un .tar.xz. Prueba autodetección con tar -tf archivo sin letra y verifica el tipo real con file archivo.tar.gz.
  • tar: Unexpected EOF o tar: Error is not recoverable. Causa: archivo truncado por corte de copia o disco lleno. Comprueba tamaño con wc -c archivo.tar.gz y con du -sh. Si pesa 0 o mucho menos que el original, vuelve a copiarlo.
  • tar: Cannot change ownership: Operation not permitted. Causa: extraes con -p sin ser root. Extrae sin -p o usa sudo si necesitas el propietario original.

Para verificar antes de extraer, usa tar -tvf archivo.tar.gz y revisa que liste permisos y tamaños coherentes. Para sospecha de truncado, tar -tvf más wc -c y file confirman si el archivo está completo y con el formato esperado.

### Preguntas frecuentes

1. ¿Cómo comprimo una carpeta completa con tar en Linux?

El comando «tar -czvf nombre_archivo.tar.gz carpeta/» crea un archivo comprimido con gzip de la carpeta indicada. La opción -c crea el archivo, -z aplica la compresión gzip, -v muestra el proceso y -f permite definir el nombre del archivo resultante que se generará en el directorio actual.

2. ¿Cómo se comprimen archivos en Linux sin instalar programas externos?

Linux incluye herramientas nativas como gzip, bzip2 y xz para comprimir archivos individuales. Para comprimir varias carpetas o archivos a la vez sin instalar nada, se usa la utilidad tar con el parámetro -z para gzip, que es el método estándar disponible en prácticamente todas las distribuciones.

3. ¿Cómo extraigo el contenido de un archivo .tar.gz?

El comando «tar -xzvf archivo.tar.gz» extrae todo el contenido en la carpeta actual. Si prefieres elegir el destino, añade -C seguido de la ruta, por ejemplo «tar -xzvf archivo.tar.gz -C /home/usuario/documentos/». La extensión .tar.gz indica que el archivo usa compresión gzip, pero el proceso es el mismo para bzip2 (.tar.bz2).

4. ¿Qué opciones ofrece el comando tar según su página de manual?

Escribir «man tar» en la terminal abre el manual completo con todas las opciones disponibles. Las más usadas son -c para crear, -x para extraer, -t para listar el contenido sin descomprimir, -z para gzip, -j para bzip2 y -J para xz. También puedes consultar el resumen rápido con «tar –help».

5. ¿Cómo veo la estructura de carpetas de un sistema Linux?

El comando «tree» muestra la jerarquía de directorios como un árbol gráfico en la terminal. No viene preinstalado en todas las distribuciones; en Debian o Ubuntu se instala con «sudo apt install tree». Si solo necesitas listar el contenido de un archivo tar sin extraerlo, usa «tar -tvf archivo.tar.gz» para ver cada ruta incluida.

6. ¿Cómo creo un archivo tar.gz paso a paso?

Primero navega hasta la ubicación de los archivos o carpetas que quieres empaquetar. Después ejecuta «tar -czvf mi_archivo.tar.gz carpeta1 carpeta2 archivo.txt» para comprimir varios elementos en un solo archivo. Verificarás que se creó correctamente con «ls -lh mi_archivo.tar.gz», que muestra su tamaño real en disco.

7. ¿Cómo busco un texto específico dentro de archivos en Linux?

El comando «grep texto_a_buscar archivo.txt» busca y muestra todas las líneas que contienen esa cadena de caracteres. Puedes buscar en varios archivos a la vez con «grep -r texto carpeta/» para revisar toda una carpeta de forma recursiva. La opción -i hace que la búsqueda no distinga entre mayúsculas y minúsculas.

8. ¿Qué compresión es más efectiva: xz o gzip dentro de tar?

xz consigue una reducción de tamaño mayor que gzip, pero tarda más en comprimir y descomprimir. Para crear un archivo con xz usa «tar -cJf archivo.tar.xz carpeta/» y para extraerlo «tar -xJf archivo.tar.xz». En archivos de texto plano, xz puede reducir el tamaño un 30% más que gzip, mientras que en archivos multimedia la diferencia es mínima.

Fuentes

  1. StackoverflowHow to compress and tar a folder in Linux [closed] – Stack Overflowconsultado el 24/09/2026
  2. OscTar Tutorial | Ohio Supercomputer Centerconsultado el 24/09/2026
  3. SuperuserOn Linux/Unix, does .tar.gz versus .zip matter? – Super Userconsultado el 24/09/2026
  4. OneuptimeHow to Use the tar Command for Archiving and Compression on …consultado el 24/09/2026
  5. MxlinuxTar – MX Linuxconsultado el 24/09/2026