Cómo Comprimir Directorios en Linux: Una Guía Completa

27 de febrero de 2023
Comprimir directorios en Linux es una tarea esencial que todo usuario debería dominar. Aquí veremos cómo hacerlo de manera rápida y eficaz.
Ejemplo Rápido de Comprimir y Descomprimir
Para comprimir un directorio:
tar -czvf mi_directorio.tar.gz /ruta/al/directorio
Para descomprimir:
tar -xzvf mi_directorio.tar.gz
Descripción de los Comandos Usados
tar
El comando tar (Tape Archive) es uno de los más utilizados para agrupar y comprimir archivos en Linux. A pesar de que su nombre sugiere su origen asociado a las cintas de backup, hoy en día es una herramienta universal para la manipulación de archivos.
-c: Crea un nuevo archivo tar.-z: Comprime el archivo con gzip.-v: Muestra el progreso en la línea de comandos, es decir, salida "verbose" (detallada).-f: Especifica el nombre del archivo tar que vamos a crear o extraer.
Por ejemplo, el comando tar -czvf mi_directorio.tar.gz /ruta/al/directorio realiza las siguientes acciones:
-c: Crea un nuevo archivo tar.-z: Comprímelo utilizando gzip.-v: Muestra detalles de los archivos añadidos al tar.-f mi_directorio.tar.gz: El archivo resultante serámi_directorio.tar.gz.
gzip
gzip es una utilidad que reduce el tamaño de los archivos utilizando el algoritmo de compresión Lempel-Ziv (LZ77). Trabaja estrechamente con tar para ofrecer una solución completa de compresión.
Para descomprimir el archivo tar.gz creado, usamos:
tar -xzvf mi_directorio.tar.gz
-x: Extrae los archivos del archivo tar.-z,-v,-f: Las mismas opciones ya descritas.
Resumen de los Comandos Más Importantes
- Comprimir un directorio:
tar -czvf archivo.tar.gz /ruta/al/directorio - Descomprimir un archivo:
tar -xzvf archivo.tar.gz - Opciones comunes de
tar:-c: Crear un archivo tar.-x: Extraer contenido de un archivo tar.-z: Comprimir/descomprimir utilizando gzip.-v: Verbose, mostrar detalles durante la operación.-f: Especificar el nombre del archivo.
Breve Historia de tar y su Preferencia en Linux
El comando tar fue introducido en los primeros días de Unix en la década de 1970. Originalmente diseñado para escribir datos en cintas de respaldo magnéticas (de ahí su nombre, Tape Archive), tar rápidamente se convirtió en una herramienta general para la agrupación y la manipulación de archivos. Su diseño sencillo y eficiente lo hizo ideal para los sistemas Unix y, posteriormente, Linux.
Aunque zip también es una utilidad popular para la compresión de archivos, tar ha sido preferido en la comunidad Linux por varias razones:
- Compatibilidad y Portabilidad:
tares parte integral de casi todas las distribuciones de Unix y Linux, garantizando que cualquier script o herramienta que lo utilice funcione en una amplia variedad de sistemas. - Flexibilidad:
tarpuede combinarse con muchas otras herramientas comogzipybzip2para lograr diferentes niveles y tipos de compresión. - Eficiencia en la Manipulación de Archivos Grandes:
tarmaneja de manera más eficaz grandes conjuntos de archivos y directorios, sin la sobrecarga de los sistemas de archivos intermedios que puede introducirzip. - Uso en Scripts de Automatización: La facilidad de uso de
taren combinación con scripts de shell lo hace ideal para tareas automatizadas de respaldo y despliegue.
En resumen, tar sigue siendo una herramienta fundamental en el ecosistema Linux debido a su historia, versatilidad y eficiencia.