16 comandos Tar para comprimir y extraer archivos en Linux

Tar es una herramienta de línea de comandos que se utiliza para crear y manipular archivos de almacenamiento en sistemas Linux y Unix. El comando Tar crea un archivo .tar y luego lo comprime usando gzip o bzip2.

Puede crear un solo archivo comprimido archivado usando un comando para obtener el archivo .tar.gz o los archivos .tar.bz2. El comando Tar también se puede utilizar para extraer archivos archivados.

Veamos el comando tar en acción a través de algunos ejemplos prácticos.

1) Crear archivo de almacenamiento .tar

Para crear un tar sin comprimir (.tar), use la opción -c con el comando tar de la siguiente manera:

$ tar -cvf /path/to/foo.tar /path/to/foo/

Donde ‘/path/to/foo.tar’ es la ubicación del archivo tar resultante, y ‘/ path / to / foo’ es la ubicación del archivo o directorio que se utilizará como entrada.

Ejemplo

$ tar -cvf powerlog.tar powerlog
a powerlog
$ ls
powerlog powerlog.tar

Puede utilizar una ruta absoluta en lugar de relativa como se muestra en la example.

2) Crea un archivo .gz con tar

La sintaxis del comando para crear un .gz archivo con tar es:

$ tar -czvf /path/to/foo.tgz /path/to/foo/

Donde ‘/path/to/foo.tgz’ es el archivo comprimido de destino y ‘/ path / to / foo /’ es el directorio de origen o el archivo que se va a comprimir.

3) Cree un archivo .bz2

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

$ tar -cjvf /path/to/foo.tgz /path/to/foo/

4) Cree un archivo .gz y excluya

Usamos --exclude tar para excluir una extensión específica o una lista de extensiones de archivo. La sintaxis es similar a la siguiente:

$ tar -czvf /path/to/foo.tgz --exclude=*.{jpg,gif,png,wmv,flv,tar.gz,zip} /path/to/foo/.

5) Utilice alquitrán sin una ruta absoluta en la compresión

Cuando usa tar para comprimir archivos y proporciona una ruta absoluta, un archivo comprimido tendrá una ruta completa en sus metadatos, por lo que cuando extraiga el contenido, estará en directorios similares a la ruta absoluta que se pasó. Para evitar esto, agregue un . al final del comando.

$ tar -zcvf /path/to/foo.tgz -C/path/to/foo .

6) Alquilar todos los archivos que comienzan con una letra específica

Cree un archivo tar de todo en el directorio actual comenzando con una ‘i’.

# tar -cvf fullbackup.tar i*
install.log
install.log.syslog

7) Agregar un nuevo archivo al archivo tar existente

Agregue un archivo o agregue un archivo nuevo al archivo tar existente.

# tar --append --file=backup.tar anaconda-ks.cfg

El comando anterior agregará un archivo anaconda-ks.cfg en el archivo backup.tar

8) Agregar dos archivos de almacenamiento con la opción de concatenar

# tar --concatenate --file=backup.tar fullbackup.tar

El comando anterior agrega el contenido de fullbackup.tar al archivo backup.tar.

9) Extraiga el archivo de almacenamiento .tar

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

$ tar -xvf /path/to/foo.tar

Donde /path/to/foo.tar es la ruta absoluta / relativa a la ubicación de un archivo tar. P.ej

$ tar -xvf powerlog.tar 
x powerlog/

10) Extraiga un archivo .gz

Para extraer un .gz archive, usamos la sintaxis del comando:

$ tar -xzvf /path/to/foo.tgz

Donde ‘/path/to/foo.tgz’ es la ruta absoluta o relativa al archivo comprimido.

11) Extraiga un archivo .bz2

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

$ tar -xjvf /path/to/foo.bz2

Tenga en cuenta que puede pasar un archivo .tgz siempre que esté comprimido con un -j opción. Tar detectará automáticamente el formato y lo descomprimirá.

12) Extraiga un .tar en el directorio especificado

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

$ tar -xvf /path/to/foo.tar -C /path/to/destination/

13) Extraer archivo del archivo tar

El siguiente comando extrae el archivo ‘anaconda-ks.cfg’ en el archivo ‘backup.tar’.

# tar --extract -vv --occurrence --file=./backup.tar anaconda-ks.cfg
-rw-r--r-- root/root 766 2008-04-12 06:52:42 anaconda-ks.cfg

14) Lista de contenidos del archivo .gz

Suponga que solo desea ver el contenido de un .tgz archivo sin extraerlos, usará la sintaxis del comando:

$ tar -ztvf /path/to/foo.tgz

Simplemente reemplace ‘/path/to/foo.tgz’ con la ruta correcta de su archivo .tgz

15) Listar el contenido del archivo .bz2

Si solo desea ver el contenido de .bz2 archivar sin extraer, use el comando:

$ tar -jtvf /path/to/foo.tgz

16) Conservar enlaces simbólicos usando el comando tar

Usar alquitrán -cvhf para preservar mis enlaces simbólicos al generar un archivo tar (use la opción “h” para eso).

Conclusión

Es difícil recordar todas las opciones del comando tar. A continuación se muestra una lista de las opciones de alquitrán más utilizadas.

- j : Se utiliza para filtrar el archivo a través de bzip2.
- v : Ejecute el comando en modo detallado para mostrar el progreso del archivo de almacenamiento.
- f : Especifique el nombre del archivo de almacenamiento.
- W : Se utiliza para verificar un archivo de almacenamiento.
- z : Filtrar un archivo a través de la herramienta gzip.
- t : Se utiliza para ver el contenido del archivo de almacenamiento.
-c : Crea un nuevo archivo que contiene los elementos especificados.
-r : Se utiliza para agregar o actualizar un archivo existente con archivos o directorios
-t : Muestra el contenido de un archivo en stdout.
-u : Como -r, pero las nuevas entradas se agregan solo si tienen una fecha de modificación más reciente que la entrada correspondiente en el archivo.
-x : Extrae el archivo de almacenamiento al disco.

Para todas las operaciones de alquitrán, la utilidad sale con un 0 sobre el éxito, y >0 si ocurre un error. Es importante comprender esto si está usando tar con un script.

Espero que hayas disfrutado leyendo este tutorial sobre el comando tar. Deje sus sugerencias en la sección de comentarios a continuación.

Leer también:

  • Cómo conservar enlaces simbólicos en el comando Tar