GNU/Linux >> Tutoriales Linux >  >> Linux

El tutorial Ultimate Tar Command con 10 ejemplos prácticos

En plataforma Unix, comando tar es la principal utilidad de archivo. Comprender varias opciones de comandos tar lo ayudará a dominar la manipulación de archivos comprimidos.

En este artículo, revisemos varios ejemplos de alquitrán incluyendo cómo crear archivos tar (con compresión gzip y bzip), extraer un solo archivo o directorio, ver el contenido del archivo tar, validar la integridad de los archivos tar, descubrir la diferencia entre el archivo tar y el sistema de archivos, estimar el tamaño del tar archivos antes de crearlo, etc.,

1. Creando un archivo usando el comando tar

Crear un archivo tar sin comprimir usando la opción cvf

Este es el comando básico para crear un archivo tar.

$ tar cvf archive_name.tar dirname/

En el comando anterior:

  • c – crear un nuevo archivo
  • v:enumera detalladamente los archivos que se procesan.
  • f:el siguiente es el nombre del archivo comprimido

Crear un archivo tar gzip usando la opción cvzf

La opción tar cvf anterior no proporciona ninguna compresión. Para usar una compresión gzip en el archivo tar, use la opción z como se muestra a continuación.

$ tar cvzf archive_name.tar.gz dirname/
  • z:filtrar el archivo a través de gzip

Nota: .tgz es lo mismo que .tar.gz

Nota: Me gusta mantener la opción 'cvf' (o tvf, o xvf) sin cambios para la creación de todos los archivos (o ver o extraer) y agregar una opción adicional al final, que es más fácil de recordar. es decir, cvf para la creación de archivos, cvfz para la creación de archivos comprimidos gzip, cvfj para la creación de archivos comprimidos bzip2, etc. Para que este método funcione correctamente, no dé – delante de las opciones.

Crear un archivo tar comprimido con bzip usando la opción cvjf

Cree un archivo tar bzip2 como se muestra a continuación:

$ tar cvfj archive_name.tar.bz2 dirname/
  • j – filtrar el archivo a través de bzip2

gzip frente a bzip2 :bzip2 tarda más en comprimir y descomprimir que gzip. El tamaño de archivo de bzip2 es inferior al de gzip.

Nota: .tbz y .tb2 es lo mismo que .tar.bz2

2. Extrayendo (untar) un archivo usando el comando tar

Extraiga un archivo *.tar usando la opción xvf

Extraiga un archivo tar usando la opción x como se muestra a continuación:

$ tar xvf archive_name.tar
  • x:extrae archivos del archivo

Extraiga un archivo tar comprimido con gzip (*.tar.gz) usando la opción xvzf

Utilice la opción z para descomprimir un archivo tar gzip.

$ tar xvfz archive_name.tar.gz

Extracción de un archivo tar comprimido en bzip (*.tar.bz2) usando la opción xvjf

Use la opción j para descomprimir un archivo tar bzip2.

$ tar xvfj archive_name.tar.bz2

Nota: En todos los comandos anteriores, v es opcional, lo que enumera el archivo que se está procesando.

3. Listado de un archivo usando el comando tar

Ver el contenido del archivo tar sin extraer usando la opción tvf

Puede ver el contenido del archivo *.tar antes de extraerlo como se muestra a continuación.

$ tar tvf archive_name.tar

Ver el contenido del archivo *.tar.gz sin extraer usando la opción tvzf

Puede ver el contenido del archivo *.tar.gz antes de extraerlo como se muestra a continuación.

$ tar tvfz archive_name.tar.gz

Ver el contenido del archivo *.tar.bz2 sin extraer usando la opción tvjf

Puede ver el contenido del archivo *.tar.bz2 antes de extraerlo como se muestra a continuación.

$ tar tvfj archive_name.tar.bz2

4. Listado del contenido del archivo tar con menos comando

Cuando la cantidad de archivos en un archivo es mayor, puede canalizar la salida de tar a menos. Pero también puede usar less command directamente para ver la salida del archivo tar, como se explica en uno de nuestros artículos anteriores Abrir y ver 10 tipos de archivos diferentes con Linux Less Command:The Ultimate Power of Less.

5. Extraiga un solo archivo del archivo tar, tar.gz, tar.bz2

Para extraer un archivo específico de un archivo tar, especifique el nombre del archivo al final del comando tar xvf como se muestra a continuación. El siguiente comando extrae solo un archivo específico de un archivo tar grande.

$ tar xvf archive_file.tar /path/to/file

Utilice la opción correspondiente z o j según el método de compresión gzip o bzip2 respectivamente, como se muestra a continuación.

$ tar xvfz archive_file.tar.gz /path/to/file

$ tar xvfj archive_file.tar.bz2 /path/to/file

6. Extraiga un solo directorio del archivo tar, tar.gz, tar.bz2

Para extraer un solo directorio (junto con su subdirectorio y archivos) de un archivo tar, especifique el nombre del directorio al final del comando tar xvf como se muestra a continuación. Lo siguiente extrae solo un directorio específico de un archivo tar grande.

$ tar xvf archive_file.tar /path/to/dir/

Para extraer varios directorios de un archivo tar, especifique esos nombres de directorio individuales al final del comando tar xvf como se muestra a continuación.

$ tar xvf archive_file.tar /path/to/dir1/ /path/to/dir2/

Utilice la opción correspondiente z o j según el método de compresión gzip o bzip2 respectivamente, como se muestra a continuación.

$ tar xvfz archive_file.tar.gz /path/to/dir/

$ tar xvfj archive_file.tar.bz2 /path/to/dir/

7. Extraiga un grupo de archivos de archivos tar, tar.gz, tar.bz2 usando expresiones regulares

Puede especificar una expresión regular para extraer archivos que coincidan con un patrón específico. Por ejemplo, seguir el comando tar extrae todos los archivos con extensión pl.

$ tar xvf archive_file.tar --wildcards '*.pl'

Explicación de las opciones:

  • –comodines *.pl – archivos con extensión pl

8. Agregar un archivo o directorio a un archivo existente usando la opción -r

Puede agregar archivos adicionales a un archivo tar existente como se muestra a continuación. Por ejemplo, para agregar un archivo a un archivo *.tar, haga lo siguiente:

$ tar rvf archive_name.tar newfile

Este nuevo archivo se agregará al archive_name.tar existente. Agregar un directorio al tar también es similar,

$ tar rvf archive_name.tar newdir/

Nota: No puede agregar archivos o directorios a un archivo comprimido. Si intenta hacerlo, obtendrá el error "tar:no se pueden actualizar los archivos comprimidos" como se muestra a continuación.

$ tar rvfz archive_name.tgz newfile
tar: Cannot update compressed archives
Try `tar --help' or `tar --usage' for more information.

9. Verifique los archivos disponibles en tar usando la opción -W

Como parte de la creación de un archivo tar, puede verificar el archivo comprimido que se creó usando la opción W como se muestra a continuación.

$ tar cvfW file_name.tar dir/

Si planea eliminar un directorio/archivo de un archivo de almacenamiento o del sistema de archivos, es posible que desee verificar el archivo de almacenamiento antes de hacerlo, como se muestra a continuación.

$ tar tvfW file_name.tar
Verify 1/file1
1/file1: Mod time differs
1/file1: Size differs
Verify 1/file2
Verify 1/file3

Si una línea de salida comienza con Verificar y no hay una línea diferente, entonces el archivo/directorio está bien. De lo contrario, debe investigar el problema.

Nota: para un archivo comprimido (*.tar.gz, *.tar.bz2) no puede hacer la verificación.

Se puede encontrar la diferencia entre un archivo y un sistema de archivos incluso para un archivo comprimido. También muestra el mismo resultado que el anterior, excluyendo las líneas con Verificar.

Encontrar la diferencia entre el archivo comprimido gzip y el sistema de archivos

$ tar dfz file_name.tgz

Encontrar la diferencia entre el archivo de almacenamiento bzip2 y el sistema de archivos

$ tar dfj file_name.tar.bz2

10. Calcule el tamaño del archivo tar

El siguiente comando estima el tamaño del archivo tar (en KB) antes de crear el archivo tar.

$ tar -cf - /directory/to/archive/ | wc -c
20480

El siguiente comando estima el tamaño del archivo tar comprimido (en KB) antes de crear los archivos tar.gz, tar.bz2.

$ tar -czf - /directory/to/archive/ | wc -c
508

$ tar -cjf - /directory/to/archive/ | wc -c
428

Linux
  1. El tutorial del comando Numfmt con ejemplos para principiantes

  2. El tutorial de comando Type con ejemplos para principiantes

  3. El tutorial del comando Shuf con ejemplos para principiantes

  4. Tutorial de estado de salida de Bash Shell con ejemplos prácticos

  5. El último tutorial de Bash Array con 15 ejemplos

El tutorial del comando mktemp con ejemplos para principiantes

El tutorial de comando Grep con ejemplos para principiantes

El tutorial de comandos Uniq con ejemplos para principiantes

El tutorial del comando fc con ejemplos para principiantes

Los 50 Ejemplos Prácticos del Comando SED en Linux

HowTo:El último tutorial del comando Logrotate con 10 ejemplos