Pon a prueba tus habilidades en todos nuestros servicios de Hosting y ¡obtén un 15% de descuento!

Utiliza el código al pagar:

Skills
01.08.2025

Cómo Untar un Archivo en Linux: Guía avanzada para usuarios avanzados

Extraer archivos .tar, .tar.gz, .tar.bz2 y otros archivos tarball es una habilidad fundamental en la administración de sistemas Linux y en los flujos de trabajo DevOps. Aunque tar puede parecer sencillo a primera vista, los usuarios avanzados pueden aprovechar las banderas y técnicas avanzadas para el rendimiento, secuencias de comandos, y el control de grano fino.

Esta guía le guiará a través de todo, desde la descompresión básica hasta la extracción condicional, la evaluación comparativa y el manejo de archivos dañados.

¿Qué es un archivo .tar?

Un archivo .tar (abreviatura de Tape Archive) es un archivo consolidado que agrupa varios archivos en uno solo, conservando la estructura de los archivos, los permisos y las marcas de tiempo. No comprime por defecto. La compresión se realiza a menudo con formatos como .gz, .bz2, .xz o .zstd.

Comandos básicos de extracción

1. Extraer un archivo .tar (sin compresión)

tar -xf archive.tar

2. Extraer un archivo .tar.gz o .tgz

tar -xzf archive.tar.gz

3. Extraer un archivo .tar.bz2

tar -xjf archive.tar.bz2

4. Extraer un archivo .tar.xz

tar -xJf archive.tar.xz

5. Extraer un archivo .tar.zst (Zstandard)

tar --use-compress-program=unzstd -xf archive.tar.zst

Banderas avanzadas comunes

IndicadorFunción
-xExtraer
-fUtilizar fichero de archivo
-vSalida detallada (lista de archivos)
-CCambiar al directorio antes de la extracción
–strip-components=NElimina los N elementos iniciales de la ruta
–wildcardsActivar el filtrado de comodines
–no-same-ownerEvitar el cambio de propietario de los archivos en la extracción
–overwriteForzar la sobreescritura sin avisos
–exclude=PATTERNExcluir los archivos que coincidan con el patrón

Ejemplos avanzados

Extraer a un directorio específico

tar -xf archive.tar.gz -C /opt/miapp

Eliminar la carpeta de nivel superior (estructura plana)

tar -xf archive.tar.gz --strip-components=1

Extraer archivos específicos

tar -xf archive.tar.gz path/to/file1 path/to/file2

Extraer patrón coincidente utilizando comodines

tar -xf archive.tar.gz --wildcards '*.conf'

Extraer excluyendo algunas rutas

tar -xf archive.tar.gz --exclude='*.log'

Tiempo de extracción de referencia

tiempo tar -xf archive.tar.gz

Casos extremos

? El archivo está dañado

Utilice tar con –ignore-zeros para omitir los bloques corruptos:

tar -xzf broken.tar.gz --ignore-zeros

? Inspeccione el archivo antes de extraerlo

tar -tf archive.tar.gz # List of files

Comprobar integridad (para tarballs comprimidos con gzip)

gzip -t archive.tar.gz && echo "Archivo OK"

Consejos de scripting para administradores de sistemas

Utilice tar en los scripts de copia de seguridad/restauración:

#!/bin/bash
TARGET_DIR="/var/www"
ARCHIVE="/backups/site-$(date +%F).tar.gz"

tar -czf "$ARCHIVE" -C "$TARGET_DIR" . && echo "Backup saved to $ARCHIVE"

O automáticamente untar e instalar:

#!/bin/bash
SRC="$1"
DEST="$2"
mkdir -p "$DEST"
tar -xzf "$SRC" -C "$DEST" --strip-components=1

Los archivos tar son fundamentales para el empaquetado, las copias de seguridad y el despliegue de Linux. Al dominar las banderas de extracción e integrar tar en scripts, puede manipular archivos con precisión quirúrgica: extraer sólo lo que se necesita, preservar la propiedad, aplanar rutas o automatizar flujos de trabajo completos.

Referencia rápida

# Basic
tar -xf file.tar    # No compression
tar -xzf file.tar.gz # Gzip
tar -xjf file.tar.bz2 # Bzip2
tar -xJf file.tar.xz # XZ
tar --use-compress-program=unzstd -xf file.tar.zst    # Zstandard

# Common options
tar -xvf archive.tar    # Verbose
tar -C /target/dir -xf file.tar.gz    # Extract to folder
tar --strip-components=1 -xf file.tar.gz    # Remove top-level dir

Pon a prueba tus habilidades en todos nuestros servicios de Hosting y ¡obtén un 15% de descuento!

Utiliza el código al pagar:

Skills