Introducción
En este artículo exploraremos los principios de funcionamiento del comando tar, el método más utilizado en entornos Linux para empaquetar y comprimir archivos y directorios de gran tamaño. Comprenderá la diferencia fundamental entre empaquetar y comprimir, y aprenderá a dominar las opciones esenciales mediante prácticas reales en la terminal.
Conceptos básicos de tar: diferencia entre empaquetar (Archive) y comprimir (Compression)
Para realizar la práctica de empaquetado con tar, creamos un directorio de trabajo y archivos de texto de ejemplo.

El comando tar se utiliza para empaquetar múltiples archivos y directorios en un solo archivo de archivo (archive) o para extraerlos.
Combinando las opciones -c, -v, -f y la opción -C, empaquetamos el directorio sample generando el archivo archive.tar.
⚙️ [Opciones principales]
-c : Crea un nuevo archivo de empaquetado (archive).-x : Extrae o descomprime el contenido de un archivo tar.-t : Muestra la lista de archivos contenidos dentro del archivo tar.-v : Muestra en pantalla el progreso detallado del proceso de empaquetado o extracción.-f : Especifica el nombre del archivo de archivo sobre el que se trabajará.-z : Comprime o descomprime utilizando el algoritmo gzip (.tar.gz).-j : Comprime o descomprime utilizando el algoritmo bzip2 (.tar.bz2).-J : Comprime o descomprime utilizando el algoritmo xz (.tar.xz).-C : Especifica la ruta del directorio de destino donde se ejecutará la operación.

Comprobamos la información detallada del archivo archive.tar generado y del directorio original mediante el comando ls -lh.
Dado que se trata simplemente de un archivo empaquetado para agrupar elementos, no ha pasado por un proceso de compresión para reducir el tamaño.

Opciones prácticas de compresión: combinación con gzip(-z) y bzip2(-j)
Al añadir la opción de compresión gzip -z, se crea un archivo .tar.gz que empaqueta y comprime el directorio sample simultáneamente.
Es el método más utilizado en entornos de producción gracias a su rápida velocidad de compresión y un nivel de compresión óptimo.

Al especificar la opción de compresión bzip2 -j, se crea un archivo .tar.bz2 empaquetando y comprimiendo al mismo tiempo el directorio sample.
Aunque requiere más tiempo de procesamiento en comparación con gzip, generalmente ofrece una mayor tasa de compresión.

Ejecutamos el comando ls -lh ~/tar-demo/*.tar* para comprobar la lista y el tamaño de los archivos empaquetados generados.
Podrá apreciar la diferencia de tamaño entre los archivos con algoritmos de compresión aplicados y el archivo tar simple sin comprimir (archive.tar).

Vista previa del contenido del archivo (-t) y verificación de seguridad
Para comprobar con antelación la estructura de archivos y las rutas de directorios antes de descomprimir, ejecutamos el comando tar -tvf ~/tar-demo/archive.tar.gz.
Al combinar la opción -t con la opción de visualización detallada -v, puede verificar de forma segura los permisos, propietarios, tamaños y la estructura de directorios sin necesidad de descomprimir el archivo realmente.

Extracción segura en una ruta específica (-x y -C)
Para crear un directorio exclusivo donde descomprimir los archivos de manera segura, ejecutamos el comando mkdir -p ~/tar-demo/extracted.

Utilizando las opciones -x y -C, descomprimimos el archivo en la ruta de destino indicada sin alterar ni ensuciar el directorio de trabajo actual.
Descomprimimos con la opción -z para gzip y observamos en tiempo real la lista de archivos extraídos con la opción -v.

Ejecutamos el comando ls -la ~/tar-demo/extracted/sample para confirmar que los archivos contenidos en el paquete se hayan extraído correctamente en la ruta designada.
A través de la salida, podemos verificar que la propiedad y los permisos de los archivos se han restaurado de forma íntegra, tal y como estaban al momento de su creación.

Hemos repasado de forma resumida desde los principios básicos de funcionamiento del comando tar en Linux hasta los ejemplos prácticos de compresión y extracción más utilizados en el día a día.
Aproveche adecuadamente estas opciones clave según cada situación para facilitar la administración y el respaldo de sus archivos en Linux.