El comando tar en Linux: archivar y comprimir ficheros

Introducción

El comando tar es una de las herramientas más antiguas y versátiles de Linux para agrupar múltiples archivos en un solo archivo, conocido como tarball. Aunque por sí solo no comprime, tar se combina frecuentemente con gzip, bzip2 o xz para obtener archivos comprimidos que ocupan menos espacio y son más fáciles de transferir.

Sintaxis básica

La forma general de tar es:

tar [opciones]  [archivos o directorios]

Las opciones más comunes son:

  • -c: crear un nuevo archivo.
  • -x: extraer archivos de un tarball.
  • -t: listar el contenido sin extraer.
  • -v: modo verbose, muestra los archivos procesados.
  • -f: especifica el nombre del archivo tarball.

Crear un tarball sin compresión

Para agrupar varios archivos o un directorio en un archivo tar sin comprimir:

tar -cvf respaldo.tar /home/usuario/documentos

Esto crea respaldo.tar y muestra cada archivo añadido gracias a la opción -v.

Extraer un tarball

Para restaurar los archivos:

tar -xvf respaldo.tar

Si deseas extraer en un directorio distinto, usa -C seguido de la ruta:

tar -xvf respaldo.tar -C /tmp/restaurar

Compresión con gzip

La combinación más usada es tar con gzip, identificada por la extensión .tar.gz o .tgz:

tar -czvf copia.tar.gz /var/www

Las opciones -z activa gzip, -c crea, -v verbose y -f indica el archivo.

Compresión con bzip2

Para una mayor tasa de compresión (a costa de más tiempo) se usa bzip2:

tar -cjvf copia.tar.bz2 /var/www

La opción -j indica bzip2.

Compresión con xz

xz ofrece la mejor relación de compresión, ideal para distribuciones de software:

tar -cJvf copia.tar.xz /var/www

La opción -J activa xz.

Listar el contenido de un tarball comprimido

Puedes ver qué hay dentro sin descomprimir:

tar -tzf copia.tar.gz

Para bzip2 usa -tjf y para xz -tJf.

Añadir archivos a un tarball existente

Aunque tar no está diseñado para modificar archivos directamente, puedes usar la opción -r (añadir) con archivos sin comprimir:

tar -rvf respaldo.tar nuevo.txt

Para tarballs comprimidos es necesario descomprimir, añadir y volver a comprimir.

Consejos y buenas prácticas

  • Siempre prueba la extracción en un directorio temporal antes de sobrescribir archivos importantes.
  • Usa –exclude para omitir patrones, por ejemplo –exclude=’*.log’.
  • Combina tar con ssh para crear copias de seguridad remotas: tar -czf – /etc | ssh usuario@servidor ‘cat > /backup/etc.tar.gz’.
  • Verifica la integridad con tar -tzf o gzip -t según el caso.

Conclusión

Dominar tar te permite gestionar eficientemente agrupaciones y compresiones de datos en Linux, ya sea para respaldos, distribución de software o simple organización de archivos. Practicar las diferentes opciones y combinar los algoritmos de compresión te ahorrará tiempo y espacio en disco.

Esta obra está bajo una Licencia Creative Commons Atribución 4.0 Internacional para Francesc Roig francesc@vivaldi.net .

EspañolesEspañolEspañol