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.