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
- Crea un
.tarsin comprimir para agrupar sin esperar. Desde la carpeta padre ejecuta:tar -cf proyecto.tar proyecto/.-ccrea,-fnombra el archivo. Verifica conls -lh proyecto.tar. - Crea un
.tar.gzpara uso general. Ejecuta:tar -czf proyecto.tar.gz proyecto/. Añadir-vmuestra cada archivo:tar -czvf proyecto.tar.gz proyecto/. Es el que conviene a la mayoría. - Crea un
.tar.bz2si quieres más ahorro con compatibilidad amplia:tar -cjf proyecto.tar.bz2 proyecto/. - Crea un
.tar.xzpara 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. - Lista el contenido sin extraer para comprobar qué guardaste. Usa:
tar -tf proyecto.tar.gzpara ver solo nombres otar -tvf proyecto.tar.gzpara ver permisos, tamaño y fecha. Lates de test/list. - 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
- Extrae en la carpeta actual. Colócate donde quieres dejar los archivos y ejecuta:
tar -xzf proyecto.tar.gz. Si es.tar.xzusatar -xJf proyecto.tar.xzo simplementetar -xf proyecto.tar.xzpor autodetección. Para ver el proceso añade-v:tar -xzvf proyecto.tar.gz. - 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 daCannot open: No such file or directory. - Extrae solo archivos concretos sin descomprimir todo. Lista primero con
tar -tfpara 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. - Añade archivos a un
.tarexistente con-r:tar -rf proyecto.tar nuevo_archivo.txt. Útil para completar una copia sin recrearla. - 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
- 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. - Excluye lo que no quieres guardar con
--exclude. Para saltarte cachés ynode_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. - Excluye por archivo de patrones si son muchos: crea
exclusiones.txtcon una regla por línea y usatar -czf backup.tar.gz -X exclusiones.txt proyecto/. - Preserva permisos, fechas y propietarios al crear y al extraer. Al crear, tar guarda permisos por defecto; al extraer, añade
-ppara forzarlos:sudo tar -xzpf backup.tar.gz -C /. Sin-py sinsudo, los archivos extraídos toman tu usuario actual. Para auditoría, añade--same-ownery--preserve-permissions. - 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 directoryal crear o extraer. Causa: la ruta del archivo.tar.gzo la carpeta destino con-Cno existe o escribiste mal el nombre. Comprueba conls -l ruta/y crea la carpeta conmkdir -p destinoantes de extraer.tar: No such file or directoryal añadir con-r. Causa: intentas añadir un archivo que no está donde lo indicas o usas ruta absoluta cuando archivaste relativa. Usapwdylsy pasa la ruta exacta.gzip: stdin: not in gzip formatobzip2: Data integrity erroral extraer. Causa: el archivo no es.tar.gzaunque lo parezca, se descargó incompleto o intentas-zsobre un.tar.xz. Prueba autodetección contar -tf archivosin letra y verifica el tipo real confile archivo.tar.gz.tar: Unexpected EOFotar: Error is not recoverable. Causa: archivo truncado por corte de copia o disco lleno. Comprueba tamaño conwc -c archivo.tar.gzy condu -sh. Si pesa 0 o mucho menos que el original, vuelve a copiarlo.tar: Cannot change ownership: Operation not permitted. Causa: extraes con-psin ser root. Extrae sin-po usasudosi 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
- StackoverflowHow to compress and tar a folder in Linux [closed] – Stack Overflowconsultado el 24/09/2026
- OscTar Tutorial | Ohio Supercomputer Centerconsultado el 24/09/2026
- SuperuserOn Linux/Unix, does .tar.gz versus .zip matter? – Super Userconsultado el 24/09/2026
- OneuptimeHow to Use the tar Command for Archiving and Compression on …consultado el 24/09/2026
- MxlinuxTar – MX Linuxconsultado el 24/09/2026
