15 comandos Tar que deberías probar en Linux

15 comandos Tar que deberías probar en Linux

A veces es necesario empaquetar varios archivos y/o directorios en un solo archivo. Es más fácil transferir un solo archivo a través de una red e incluso una memoria USB (la creación de miles de archivos en la memoria flash puede ser lenta). En sistemas operativos como Windows, esto normalmente se hace archivando en archivos .zip (comprimir) o .rar. En los sistemas operativos *nix, como Linux, la utilidad de acceso es «tar». El nombre de este comando se deriva de Tape ARchive, ya que inicialmente fue diseñado para realizar copias de seguridad de datos en cinta magnética. Hoy en día todavía se puede usar para este propósito, pero en la mayoría de los casos es simplemente un método para crear los llamados «tarballs». El propósito de los tarballs es facilitar la carga, descarga y transferencia de datos, o el mantenimiento de copias de seguridad.

1. Consulte el manual de alquitrán

Cada comando en Linux tiene una página de manual. Puedes consultar el manual de tar ingresando esto en tu terminal:

alquitrán-manual

Navegue por el contenido con las teclas de flecha, RE PÁG y AV PÁG. Pulse q para salir del manual.

2. Crear un tarball de directorio

Cree un directorio con nueve archivos vacíos para que pueda probar los comandos tar:

mkdir $HOME/test9 && touch $HOME/test9/{1..9}

tar-test-directorio

Ahora cambie a su directorio de inicio.

Para enviar el contenido de un directorio a un archivo tar:

  • c – significa crear
  • v – detallado, muestra qué archivo se agregó actualmente al archivo; útil para trabajos de larga ejecución, para ver el progreso
  • f – le dice a la utilidad que cree un archivo tar, con el nombre especificado, test.tar

3. Agregar contenido a un tarball existente

Cree otro directorio con archivos vacíos nombrados de la a a la z:

mkdir $HOME/test-az && touch $HOME/test-az/{a..z}

alquitrán-prueba-az

Ahora agréguelo al archivo tar ya existente (r parámetro):

tar -rvf test.tar test-az

Si abre test.tar en un administrador de archivos gráficos, verá el siguiente contenido.

tar-xarchiver

4. Listar el contenido del archivo tar

Utilizar el -t bandera para listar el contenido del archivo tar.

5. Extraer contenido de Tarball

Los contenidos se extraerán en su directorio actual. Cree un nuevo directorio y luego cambie a él:

mkdir $HOME/test-extract && cd $HOME/test-extract

Ahora extraiga test.tar en el directorio actual:

contenidos extraídos de alquitrán

6. Crear Tarball Comprimido (gzip)

Si tiene la intención de transferir el archivo tar a través de la red, reducirlo es una buena práctica para aumentar la velocidad de transferencia. Vuelva a cambiar a su directorio de inicio.

Y crea un archivo tar comprimido.

tar -cvzf test.tar.gz test9

Como puede ver, la única diferencia es el agregado z parámetro, que le indica a tar que use gzip para comprimir el archivo.

comparación de tamaños de archivo tar

7. Crear Tarball comprimido aún más pequeño (bzip)

En vez de z parámetro, puede utilizar j para comprimir con bzip.

tar -cvjf test.tar.bz test9

Esto reducirá aún más el tamaño del archivo, pero llevará más tiempo comprimirlo y descomprimirlo.

8. Extraiga un solo archivo o directorio

Simplemente agregue el nombre exacto del archivo o directorio, tal como aparece en el archivo tar:

tar -xvf test.tar test9/7

Esto extrae solo test9/7 expediente.

9. Extraiga solo archivos/directorios que coincidan con un patrón

Si desea extraer todos los archivos que terminan en la extensión .jpg:

tar -xvf test.tar --wildcards '*.jpg'

10. Conservar permisos

Los permisos no son importantes cuando se crean tarballs a partir de documentos, imágenes y medios similares. Pero si está haciendo una copia de seguridad de su sistema, puede agregar el p parámetro para preservar los permisos de archivo:

tar -cvpf test-permissions.tar test9

11. Eliminar archivos o directorios de Tarball

Funciona solo en archivos tar sin comprimir.

tar -f test.tar --delete test-az

Esto elimina el directorio test-az del tarball, incluidos los archivos que contiene. tar f test.tar --delete test-az/z simplemente eliminará el archivo «test-az/z».

12. Excluir archivos o directorios para que no se agreguen a Tarball

tar -cvf test-exclude.tar --exclude test9/9 test9

tar-excluir

Como puede ver, el archivo 9 fue excluido del archivo tar. Se pueden agregar múltiples parámetros de exclusión: tar cvf test-exclude.tar --exclude test9/9 --exclude test9/8 test9.

13. Manténgase en un sistema de archivos

--one-file-system se puede agregar en un comando como tar -cvpzf backup.tar.gz --one-file-system /.

Esto haría una copia de seguridad de su sistema de archivos raíz, excluyendo otros sistemas de archivos que haya montado en /home, /mnt, /media, /proc, etc.

14. Conservar atributos extendidos

Además de los permisos de archivo, algunas distribuciones de Linux también tienen atributos de archivo extendidos. Para conservarlos todos, agregue estos parámetros: --acls --selinux --xattrs.

Comando de ejemplo:

tar -cvpzf backup.tar.gz --one-file-system --acls --selinux --xattrs /

15. Crear un nuevo directorio para archivos extraídos

Normalmente, tar se extrae en su directorio actual. Puedes mkdir new_directory y cd new_directory antes de usar tar, si el directorio donde desea extraer aún no existe. Pero instruir a tar para que haga todo por ti es más elegante:

tar -xvf test.tar --one-top-level=new_directory

Conclusión

Estos son los comandos tar más utilizados. Pero la utilidad es versátil y se puede utilizar de muchas otras formas. Si no le gusta leer manuales en la terminal, puede encontrar la Versión HTML del manual tar más fácil de navegar.

Experto Geek - Tu Guía en Tendencias Tecnológicas