GNU/Linux >> Tutoriales Linux >  >> Linux

10 ejemplos de comandos Tar en Linux para crear y extraer archivos

Comando tar en Linux

El comando tar (archivo de cinta) se usa para crear y extraer archivos en Linux. Puede comprimir y almacenar múltiples archivos en un solo archivo.

Las extensiones de archivo que se ven comúnmente son .tar.gz y .tar.bz2, que es un archivo tar comprimido aún más usando los algoritmos gzip o bzip respectivamente.

En este tutorial, veremos ejemplos simples del uso del comando tar para realizar trabajos diarios de creación y extracción de archivos en servidores o escritorios Linux.

Usando el comando tar

El comando tar está disponible de forma predeterminada en la mayoría de los sistemas Linux y no necesita instalarlo por separado.

With tar there are 2 compression formats, gzip and bzip. The "z" option specifies gzip and "j" option specifies bzip. It is also possible to create uncompressed archives.

1. Extraer un archivo tar.gz

Bueno, el uso más común es extraer archivos tar. El siguiente comando extraerá los archivos de un archivo tar.gz

$ tar -xvzf tarfile.tar.gz

Aquí hay una explicación rápida de los parámetros utilizados -

x - Extract files
v - verbose, print the file names as they are extracted one by one
z - The file is a "gzipped" file
f - Use the following tar archive for the operation

Esas son algunas de las opciones importantes para memorizar

Extraer archivos tar.bz2/bzip

Los archivos con la extensión bz2 se comprimen con el algoritmo bzip y el comando tar también puede manejarlos. Utilice la opción j en lugar de la opción z.

$ tar -xvjf archivefile.tar.bz2

2. Extraer archivos a un directorio o ruta específica

Para extraer los archivos a un directorio específico, especifique la ruta con la opción "-C". Tenga en cuenta que es una C mayúscula.

$ tar -xvzf abc.tar.gz -C /opt/folder/

Sin embargo, primero asegúrese de que el directorio de destino exista, ya que tar no creará el directorio por usted y fallará si no existe.

3. Extraer un solo archivo

Para extraer un solo archivo de un archivo, simplemente agregue el nombre del archivo después del comando como este

$ tar -xz -f abc.tar.gz "./new/abc.txt"

Se puede especificar más de un archivo en el comando anterior como este

$ tar -xv -f abc.tar.gz "./new/cde.txt" "./new/abc.txt"

4. Extrae múltiples archivos usando comodines

Los comodines se pueden usar para extraer un montón de archivos que coincidan con los comodines dados. Por ejemplo, todos los archivos con extensión ".txt".

$ tar -xv -f abc.tar.gz --wildcards "*.txt"

5. Listar y buscar contenidos del archivo tar

Si solo desea enumerar el contenido del archivo tar y no extraerlo, use la opción "-t". El siguiente comando imprime el contenido de un archivo tar comprimido con gzip,

$ tar -tz -f abc.tar.gz
./new/
./new/cde.txt
./new/subdir/
./new/subdir/in.txt
./new/abc.txt
...

Canalice la salida a grep para buscar un archivo o menos comando para navegar por la lista. El uso de la opción detallada "v" imprimirá detalles adicionales sobre cada archivo.

Para archivos tar.bz2/bzip use la opción "j"

Use el comando anterior en combinación con el comando grep para buscar en el archivo. ¡Simple!

$ tar -tvz -f abc.tar.gz | grep abc.txt
-rw-rw-r-- enlightened/enlightened 0 2015-01-13 11:40 ./new/abc.txt

6. Crear un archivo tar/tar.gz

Ahora que hemos aprendido cómo extraer archivos tar existentes, es hora de comenzar a crear nuevos. Se le puede indicar al comando tar que coloque los archivos seleccionados en un archivo o en un directorio completo. Estos son algunos ejemplos.

El siguiente comando crea un archivo tar usando un directorio, agregando todos los archivos y subdirectorios también.

$ tar -cvf abc.tar ./new/
./new/
./new/cde.txt
./new/abc.txt

El ejemplo anterior no crea un archivo comprimido. Solo un archivo simple, que junta varios archivos sin ninguna compresión real.

Para comprimir, use la opción "z" o "j" para gzip o bzip respectivamente.

$ tar -cvzf abc.tar.gz ./new/
The extension of the file name does not really matter. "tar.gz" and tgz are common extensions for files compressed with gzip. ".tar.bz2" and ".tbz" are commonly used extensions for bzip compressed files.

7. Solicite confirmación antes de agregar archivos

Una opción útil es "w", que hace que tar solicite confirmación para cada archivo antes de agregarlo al archivo. Esto puede ser útil a veces.

Solo se agregarán aquellos archivos que reciban una respuesta afirmativa. Si no ingresa nada, la respuesta predeterminada sería "No".

# Add specific files
$ tar -czw -f abc.tar.gz ./new/*
add ‘./new/abc.txt’?y
add ‘./new/cde.txt’?y
add ‘./new/newfile.txt’?n
add ‘./new/subdir’?y
add ‘./new/subdir/in.txt’?n
# Now list the files added
$ tar -t -f abc.tar.gz
./new/abc.txt
./new/cde.txt
./new/subdir/

8. Agregar archivos a archivos existentes

La opción r se puede usar para agregar archivos a archivos existentes, sin tener que crear otros nuevos. Aquí hay un ejemplo rápido

$ tar -rv -f abc.tar abc.txt
Files cannot be added to compressed archives (gz or bzip). Files can only be added to plain tar archives.

9. Agregar archivos a archivos comprimidos (tar.gz/tar.bz2)

Ya se mencionó que no es posible agregar archivos a archivos comprimidos. Sin embargo, todavía se puede hacer con un simple truco. Use el comando gunzip para descomprimir el archivo, agregue el archivo al archivo y comprímalo nuevamente.

$ gunzip archive.tar.gz
$ tar -rf archive.tar ./path/to/file
$ gzip archive.tar

Para archivos bzip, use los comandos bzip2 y bunzip2 respectivamente.

10. Copia de seguridad con alquitrán

Un escenario real es hacer una copia de seguridad de los directorios a intervalos regulares. El comando tar se puede programar para realizar tales copias de seguridad a través de cron. Aquí hay un ejemplo -

$ tar -cvz -f archive-$(date +%Y%m%d).tar.gz ./new/

Ejecute el comando anterior a través de cron y seguirá creando archivos de respaldo con nombres como -
'archive-20150218.tar.gz'.

Por supuesto, asegúrese de que el espacio en disco no se desborde con archivos cada vez más grandes.

11. Verificar archivos de almacenamiento durante la creación

La opción "W" se puede utilizar para verificar los archivos después de crear archivos. Aquí hay un ejemplo rápido.

$ tar -cvW -f abc.tar ./new/
./new/
./new/cde.txt
./new/subdir/
./new/subdir/in.txt
./new/newfile.txt
./new/abc.txt
Verify ./new/
Verify ./new/cde.txt
Verify ./new/subdir/
Verify ./new/subdir/in.txt
Verify ./new/newfile.txt
Verify ./new/abc.txt

Tenga en cuenta que la verificación no se puede realizar en archivos comprimidos. Solo funciona con archivos tar sin comprimir.

Conclusión

Además del comando tar, hay muchos otros comandos disponibles en la línea de comandos de Linux que se pueden usar para comprimir y empaquetar archivos en un archivo. Por ejemplo, el comando zip y unzip también se puede usar para crear archivos comprimidos.

El comando zip también es compatible con el comando zipcloak que se puede usar para crear archivos .zip protegidos con contraseña. El formato tar no admite ningún tipo de cifrado. Si desea crear archivos tar protegidos con contraseña, utilice ccrypt comando para cifrar el archivo .tar o .tar.gz.

Eso es todo por ahora. Para obtener más información, consulte la página del manual para el comando tar, con "man tar". O ejecute "tar --help" para ver la lista de todas las opciones admitidas por el comando tar.


Linux
  1. Comando tar de Linux

  2. ¿Cómo comprimir y extraer archivos usando el comando tar en Linux?

  3. Ejemplos de Linux cpio:cómo crear y extraer archivos cpio (y archivos tar)

  4. Ejemplos de comandos mkdir y rmdir en Linux

  5. Ejemplos de comandos tar en Linux

Cómo crear una copia de seguridad con el comando tar en Linux

Comando Tar en Linux (Crear y Extraer Archivos)

Tutorial de comandos Linux ar para principiantes (5 ejemplos)

Comando TAR de Linux y Unix

Opciones de comando y ejemplos de Tee Command en Linux

Comando tar de Linux para comprimir y extraer archivos