https://esgeeks.com/?p=3577
+20 Comandos TAR para comprimir y extraer archivos en Linux
5 (100%) 16 votes

Aprenda sobre los comandos tar para comprimir y descomprimir archivos en terminal Linux. A continuación hay una lista de opciones del uso de tar con varios ejemplos.

Tar es una herramienta de línea de comandos utilizada para crear y manipular archivos de almacenamiento en sistemas Linux y Unix. Tar puede extraer desde tar, pax, cpio, zip, jar, ar, imágenes ISO 9660 y por supuesto, puede crear los archivos respectivos.

A continuación hay una lista de opciones de tar (Tape ARchiver) que son usadas comúnmente:

OpciónDescripción
 -jSe utiliza para comprimir el archivo a través de bzip2.
 -vEjecuta el comando en modo detallado para mostrar el progreso del archivo.
 -fEspecifica el nombre del archivo.
 -WSe utiliza para verificar un archivo comprimido.
 -zComprime un archivo a través de la herramienta gzip.
 -tSe usa para visualizar el contenido del archivo.
 -cCrea un nuevo archivo que contiene los elementos especificados.
 -rUsado para agregar o actualizar archivos o directorios al archivo existente.
 -uComo -r, pero las nuevas entradas se agregan solo si tienen una fecha de modificación más nueva que la entrada correspondiente en el archivo.
 -xExtrae el archivo de almacenamiento en el disco.

Ahora veamos a tar en acción a través de ejemplos. No obstante, es importante recordar los sufijos de archivos equivalentes:

 CortoLargo
 .tgz.tar.gz
 .tbz, .tbz2, .tb2.tar.bz2
 .taz, .tz.tar.Z
 .tlz.tar.lz, .tar.lzma
 .txz.tar.xz

Empezamos!


1. Crear archivos con tar

1.1. Crear archivo comprimido .tar

Para crear un tar sin comprimir, use la sintaxis del comando:

$ tar -cvf /ruta/archivo.tar /ruta/origen

Donde /ruta/archivo.tar es la ubicación del archivo tar resultante, y /ruta/origen es la ubicación del archivo o directorio que se desea comprimir. Por ejemplo:

tar -cvf /home/alex/EsGeeks.tar /home/alex/EsGeeks
Crear archivo comprimido con tar

Crear archivo comprimido con tar

  • c – Crea un nuevo archivo EsGeeks.tar.
  • v – Muestra detalladamente el progreso del archivo .tar.
  • f – Especifica el nombre del archivo.

1.2. Crear un archivo comprimido .gz con tar

Para crear un archivo comprimido gzip, usamos la opción z. La sintaxis del comando para crear un archivo .gz con tar es la siguiente:

$ tar -czvf /ruta/archivo.tgz /ruta/origen

Donde /ruta/archivo.tgz es el archivo comprimido de destino, y /ruta/origen es el directorio o archivo fuente que se va a comprimir.

$ tar -czvf /home/alex/EsGeeks.tgz /home/alex/EsGeeks
Crea archivo comprimido .gz con tar

Crea archivo comprimido .gz con tar

1.3. Crear un archivo comprimido .bz2 con tar

La característica bz2 comprime y crea un archivo de almacenamiento inferior al tamaño de gzip. La compresión bz2 toma más tiempo para comprimir y descomprimir archivos en comparación con gzip.

La opción -j se usa para trabajar con archivos .bz2:

$ tar -cjvf /ruta/archivo.tar.bz2 /ruta/archivo

Por ejemplo:

$ tar -cjvf /home/alex/EsGeeks.tar.bz2 /home/alex/EsGeeks
Crear archivo comprimido .bz2 con tar

Crear archivo comprimido .bz2 con tar

Nota

tar.bz2 y tbz son similares a tb2


1.4. Comprimir archivo en .gz y excluir jpg,flv… del tgz

Utilizamos la opción –exclude de tar para excluir una extensión específica o una lista de extensiones de archivos. La sintaxis es similar a la siguiente:

$ tar -czvf /ruta/archivo.tgz --exclude=\*.{jpg,gif,png,wmv,flv,tar.gz,zip} /ruta/archivo

Ejemplo:

$ tar -czvf aEsGeekd2s.tgz --exclude=\*.{jpg,png} /home/alex/EsGeeks
Comprimir archivo en .gz y excluir extensión

Comprimir archivo en .gz y excluir extensión

1.5. Usar tar sin ruta absoluta en la compresión

Al usar tar para comprimir archivos y proporcionar una ruta absoluta, un archivo comprimido tendrá una ruta completa en sus metadatos, de modo que cuando extraiga el contenido, estará en directorios similares a la ruta absoluta en la que se comprimió.

Ruta absoluta en compresión

Ruta absoluta en compresión

Para evitar esto, agregue -C antes de la ruta y .(punto) al final del comando.

$ tar -czvf /ruta/archivo.tgz -C/ruta/archivo .

Ejemplo:

$ tar -czvf /home/alex/EsGeekssinPath.tgz -C/home/alex/EsGeeks .
Quitar ruta de acceso completa al hacer compresión tar

Quitar ruta de acceso completa al hacer compresión tar

1.6. Crear archivo tar que sólo empiecen con la letra “A”

$ tar -cvf comprimir.tar A*
Crear archivo tar que sólo empiecen con letra

Crear archivo tar que sólo empiecen con letra

El comando anterior comprime solo aquellos archivos, que comienzan con A.

1.7. Agregar un archivo al archivo tar existente

La sintaxis es la siguiente:

$ tar --append --file=archivo.tar nuevoarchivo.extension

El siguiente comando agregará un archivo 2.png en el archivo comprimir.tar

$ tar --append --file=comprimir.tar 2.png
Agregar archivo al archivo tar existente

Agregar archivo al archivo tar existente

1.8. Concatenar archivos comprimidos con tar

$ tar --concatenate --file=comprimir.tar comprimir2.tar

El comando anterior agrega el contenido del archivo comprimir2.tar al archivo comprimir.tar.

Concatenar archivos comprimidos con tar

Concatenar archivos comprimidos con tar

2. Extraer archivo con tar

2.1. Extraer/descomprimir un archivo con tar

Para extraer un archivo que a menudo tiene una extensión .tar, la sintaxis del comando es:

$ tar -xvf /ruta/archivo.tar

Donde /ruta/archivo.tar es la ruta absoluta/relativa a la ubicación del archivo tar.

Por ejemplo:

$ tar -xvf /home/alex/EsGeeks.tar
Extraer o descomprimir un archivo con tar

Extraer o descomprimir un archivo con tar

2.2. Extraer un archivo .gz

Para extraer un archivo .gz, usamos la sintaxis de comando:

$ tar -xzvf /ruta/archivo.tgz

Donde /ruta/archivo.tgz es la ruta absoluta o relativa al archivo comprimido. Por ejemplo:

$ tar -xzvf /home/alex/EsGeeks.tgz
Extraer un archivo .gz

Extraer un archivo .gz

2.3. Extraer un archivo .bz2

La sintaxis del comando para extraer un archivo .bz2 es:

$ tar -xjvf /ruta/archivo.tar.bz2

Por ejemplo:

$ tar -xjvf /home/alex/EsGeeks.tar.bz2
Extraer un archivo .bz2

Extraer un archivo .bz2

2.4. Extrae un .tar en un directorio específico

Para extraer un archivo tar a un directorio específico, use la opción -C para proporcionar el directorio de destino.

$ tar -xvf /ruta/archivo.tar -C/ruta/destino

Ejemplo:

tar -xvf /home/alex/EsGeeks.tar -C/home/alex/Descargas
Extrae tar en un directorio específico

Extrae tar en un directorio específico

2.5. Extraer archivo específico de un archivo comprimido en tar

$ tar --extract -vv --occurrence --file=./archivo.tar archivoespecifico


El comando siguiente extrae el archivo 1.png del archivo EsGeeks.tar.xz:

tar --extract -vv --occurrence --file=./EsGeeks.tar.xz 1.png
Extraer archivo específico de un archivo comprimido en tar

Extraer archivo específico de un archivo comprimido en tar

2.6. Descomprimir múltiples archivos de tar, tar.gz y tar.bz2

Para extraer o descomprimir múltiples archivos del tipo de archivo tar, tar.gz y tar.bz2 utilice comillas (“”).

$ tar -xvf archivo.tar "archivo 1" "archivo 2"  
# tar -zxvf archivo.tar.gz "archivo 1" "archivo 2"  
# tar -jxvf archivo.tar.bz2 "archivo 1" "archivo 2"  

Por ejemplo, el siguiente comando extraerá “1.png” “2.png” del archivo EsGeeks.tar.xz

$ tar -xvf EsGeeks.tar.xz "1.png" "2.png"
Descomprimir múltiples archivos de tar, tar.gz y tar.bz2

Descomprimir múltiples archivos de tar, tar.gz y tar.bz2

2.7. Extraer un grupo de archivos de tar usando comodines

Para extraer un grupo de archivos basada en comodines, usamos –wildcards.

$ tar -xvf archivo.tar --wildcards '*.extension'

Por ejemplo, para extraer un grupo de todos los archivos cuyo patrón termina .png de un archivo comprimido en tar, tar.gz y tar.bz2, usamos lo siguiente:

$ tar -xvf EsGeeks.tar.xz --wildcards '*.png'
Extraer un grupo de archivos de tar usando comodines

Extraer un grupo de archivos de tar usando comodines

3. Listar contenido de archivo con tar

3.1. Listar el contenido de un archivo .gz

Supongamos que solo quiere ver los contenidos de un archivo .tgz sin extraerlos, entonces use la sintaxis del comando:

$ tar -ztvf /ruta/archivo.tgz

Simplemente reemplace /ruta/archivo.tgz con la ruta correcta de tu archivo .tgz

$ tar -ztvf /home/alex/EsGeeks.tgz
Listar contenido de un archivo .gz

Listar contenido de un archivo .gz

3.2. Listar el contenido de un archivo .bz2

Si desea simplemente ver el contenido del archivo .bz2 sin extraer, use el comando:

$ tar -jtvf /ruta/archivo.tar.bz2

Por ejemplo:

$ tar -jtvf /home/alex/EsGeeks.tar.bz2
Listar contenido de un archivo .bz2

Listar contenido de un archivo .bz2

3.3. Comprobar el tamaño de un archivo tar, tar.gz y tar.bz2

Para verificar el tamaño de cualquier archivo tar, tar.gz y tar.bz2, use el siguiente comando.

$ tar -czf - archivo.tar | wc -c
$ tar -czf - archivo.tar.gz | wc -c
$ tar -czf - archivo.tar.bz2 | wc -c

Por ejemplo, el siguiente comando mostrará el tamaño del archivo en Kilobytes(KB).

tar -czf - EsGeeks.tar | wc -c
Comprobar tamaño de archivo tar

Comprobar tamaño de archivo tar

3.4. Cómo preservar enlaces simbólicos usando tar

Use tar -cvhf para preservar enlaces simbólicos al generar un archivo tar (use la opción “h“).

$ tar -cvhf  /ruta/archivo.tar
  • ¿Utilizas Windows 10? Desde la build 17063, TAR se empaqueta de manera predeterminada, aquí como usarlo.

Tar es uno de los comandos que se utilizan a menudo en el mundo de Linux/Unix, desde la instalación del software, copias de seguridad, intercambio de archivos, hasta el proceso de cifrado/descifrado de archivos. Dominar el uso de tar le ayudará mucho cuando administre sistemas Linux/Unix. ¡Si te ha gustado el artículo, comparte!


¡Mantente actualizado!

Suscríbete a nuestro boletín semanal...

Suscríbete a nuestro boletín electrónico para recibir artículos útiles y ofertas especiales. No te perderás absolutamente de nada!

Enviaremos solamente boletines al email y no compartiremos tu email.