Generador de comandos tar

Crea, extrae y lista archivos tar sin tener que buscar las opciones.

Acerca de esta herramienta

Elige si quieres crear, extraer o listar un archivo, escoge la compresión (gzip, bzip2, xz o zstd), añade archivos y exclusiones, y copia el comando tar con cada opción explicada.

Cómo se usa

  1. Elige Crear, Extraer o Listar contenido.
  2. Elige la compresión; el nombre del archivo tar recibe la extensión correspondiente.
  3. Para un archivo tar nuevo, enumera los archivos y carpetas que incluir y los patrones que excluir.
  4. Copia el comando y lee qué hace cada opción.

Preguntas

¿Cómo extraigo un archivo .tar.gz?
Ejecuta tar -xzvf file.tar.gz. Añade -C carpeta para extraer en otro sitio. El GNU tar moderno y el tar de macOS detectan la compresión por sí mismos, así que tar -xvf file.tar.gz también funciona.
¿Qué compresión debo elegir?
gzip es la opción segura que se abre en todas partes. zstd suele ser a la vez más rápido y más pequeño, si todas las máquinas que abren el archivo tienen un tar reciente. xz da los archivos más pequeños, pero es el más lento.
¿Por qué -f tiene que ir al final en -czvf?
f toma la siguiente palabra como nombre del archivo tar. En -czfv, tar tomaría v como nombre del archivo. Deja la f al final del grupo de letras.
¿Qué hace --strip-components?
Elimina las carpetas iniciales de cada ruta al extraer. Los archivos tar suelen contener una carpeta superior como project-1.2/; --strip-components=1 coloca su contenido directamente en el destino.
¿Cómo veo lo que hay dentro sin extraerlo?
Usa Listar contenido, que genera tar -tvf archive.tar.gz. Muestra cada archivo con su tamaño y su fecha, y no cambia nada.
¿Cómo añado archivos a un tar.gz existente?
No se pueden añadir archivos a un archivo tar comprimido. tar -rf solo añade archivos a un .tar sin comprimir. Para un .tar.gz, vuelve a crear el archivo con los archivos adicionales, o descomprímelo con gunzip, ejecuta tar -rf backup.tar newfile y vuelve a comprimirlo con gzip.
¿Por qué tar dice “Not found in archive”?
La ruta que has pedido no coincide exactamente con el nombre de ningún miembro. Ejecuta tar -tzf archive.tar.gz y copia la ruta de su salida: los archivos creados con tar -czf x.tar.gz . guardan todos los nombres con un ./ inicial, y muchos tienen una carpeta superior. Los patrones también necesitan --wildcards en GNU tar.
¿Cómo evito que macOS añada archivos ._ a un archivo tar?
El tar de macOS (bsdtar) guarda los atributos extendidos como archivos ._ adicionales, que en Linux aparecen como basura. Crea el archivo con --no-mac-metadata, o define COPYFILE_DISABLE=1 antes del comando: COPYFILE_DISABLE=1 tar -czf backup.tar.gz project. En Linux y con GNU tar no cambia nada.

Cómo crear un archivo tar.gz de una carpeta

Ejecuta tar -czvf backup.tar.gz src docs package.json para empaquetar los archivos y carpetas indicados. Las rutas se guardan tal como las escribes, así que usa rutas relativas. Para guardar una carpeta sin la ruta que la contiene, cambia antes de directorio con -C: tar -czf site.tar.gz -C /var/www html. GNU tar y bsdtar quitan la / inicial de las rutas absolutas, para que el archivo no pueda sobrescribir archivos del sistema al extraerlo.

Para dejar cosas fuera, añade --exclude=node_modules o --exclude="*.log", y pon los patrones entre comillas para que la shell no los expanda. Un patrón sin barra coincide con ese nombre a cualquier profundidad. En GNU tar, pon las opciones --exclude antes de la lista de archivos, porque solo se aplican a los archivos que aparecen después. Escribe el archivo tar fuera de la carpeta que estás empaquetando, para que tar no intente meter el archivo dentro de sí mismo.

tar.gz vs zip: ¿qué formato de archivo comprimido usar?

tar conserva los permisos de Unix, los propietarios y los enlaces simbólicos, lo que importa para scripts y despliegues. Comprime todos los archivos como un único flujo, así que muchos archivos pequeños y parecidos se reducen más que en zip. El precio es que no hay acceso aleatorio: listar o extraer un archivo implica recorrer todo el archivo tar. zip comprime cada archivo por separado y se abre de forma nativa en Windows, aunque Windows 10 y versiones posteriores también incluyen tar.

.tgz es simplemente un nombre más corto para .tar.gz, con exactamente el mismo contenido. .tar.bz2 y .tar.xz sacrifican velocidad a cambio de archivos más pequeños, y .tar.zst es rápido y compacto, pero necesita GNU tar 1.31 o posterior, o un bsdtar reciente, con la opción --zstd. Tanto GNU tar como bsdtar aceptan también -a, que elige la compresión según la extensión del archivo al crearlo.

Cómo extraer un solo archivo de un archivo tar

Indica el archivo después del archivo tar: tar -xzf backup.tar.gz src/config.yml. La ruta debe coincidir exactamente con lo que muestra tar -tzf backup.tar.gz, incluidos el ./ inicial o la carpeta superior si los hay. GNU tar necesita --wildcards para usar patrones como "*.yml", mientras que bsdtar en macOS los acepta directamente. Añade -O para mostrar el archivo en la terminal en lugar de escribirlo: tar -xzOf backup.tar.gz src/config.yml.

Antes de extraer un archivo tar de otra persona, lista su contenido. Algunos no tienen carpeta superior y sueltan cientos de archivos en la carpeta actual, y los archivos existentes con el mismo nombre se sobrescriben sin preguntar. Extrae en una carpeta nueva y vacía: mkdir out y luego tar -xzf archive.tar.gz -C out. Para comprobar antes una descarga, compara su SHA-256 con el Generador de hashes o con sha256sum.

¿Algo no funciona o un resultado parece incorrecto? Informar de un problema con esta herramienta