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
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.
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
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/
$ 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.
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