Cómo comprimir archivos en Linux con el comando tar: Guía práctica

Go to Homepage

Comprimir archivos en Linux con el comando tar

La compresión de archivos es una técnica muy utilizada en Linux, especialmente cuando se trata de grandes cantidades de datos o archivos que necesitan ser respaldados para el almacenamiento. tar es una herramienta de línea de comandos que permite realizar la compresión de archivos en Linux de manera rápida y eficiente.

El comando básico para la compresión de archivos con tar es el siguiente:

tar -czvf archivo.tar.gz directorio/

Este comando crea un archivo comprimido con extensión .tar.gz a partir del contenido del directorio especificado. Los términos utilizados en este comando representan lo siguiente:

Argumento Descripción
-c Crea un nuevo archivo.
-z Comprime el archivo usando gzip.
-v Muestra progreso detallado del proceso.
-f Nombre del archivo a crear.

Es posible descomprimir un archivo comprimido con tar utilizando el siguiente comando:

tar -xzvf archivo.tar.gz

En este caso, se utilizan los términos -x y -z para extraer y descomprimir el archivo, respectivamente.

Es importante destacar que, al momento de comprimir archivos, es posible que se desee excluir algunos archivos o directorios específicos. Para ello, se utiliza el siguiente comando:

tar -czvf archivo.tar.gz --exclude=directorio/archivo.txt directorio/

En este caso, se utiliza el término –exclude para especificar el archivo o directorio que se desea excluir.

Asimismo, es posible comprimir varios archivos en un solo archivo comprimido utilizando el siguiente comando:

tar -czvf archivo.tar.gz archivo1 archivo2 archivo3

En este caso, se especifican los nombres de los archivos a comprimir separados por espacios.

El comando tar es una herramienta muy útil para la compresión de archivos en Linux, especialmente cuando se trata de archivos grandes que deben ser respaldados para el almacenamiento. Con la utilización de diferentes opciones, es posible personalizar la compresión de acuerdo a las necesidades específicas.

Con el comando tar es posible comprimir eficientemente archivos en Linux, lo que permite un ahorro de espacio en el almacenamiento y la posibilidad de respaldar grandes cantidades de datos de manera sencilla y efectiva.

Manejo de opciones para aumentar eficiencia

En el uso de la compresión de archivos en Linux, el comando tar es una herramienta fundamental que permite realizar la compresión y descompresión de archivos grandes en línea de comandos. Con el fin de aumentar la eficiencia al momento de comprimir archivos, es importante manejar las diferentes opciones que brinda el comando.

Por ejemplo, una de las opciones más utilizadas es la de añadir archivos a un archivo ya existente con la bandera -r. De esta manera, se pueden agregar archivos individuales o directorios completos a un archivo .tar previamente creado.

Otra opción importante es la de especificar el tamaño máximo del archivo con la bandera -L. Esto resulta particularmente útil si se pretende trabajar con archivos muy grandes y se quiere asegurar que al momento de descomprimir no se sature el espacio de almacenamiento.

Una opción que resulta en un mejor aprovechamiento del espacio de almacenamiento es la bandera -j que permite empacar los archivos en formato bzip2, en lugar del formato estándar gzip. El formato bzip2 es más eficiente en términos de compresión, lo que se traduce en un archivo de menor tamaño.

Otra alternativa para optimizar el espacio de almacenamiento, es comprimir el archivo en varios segmentos con la opción -M seguida del tamaño de los segmentos en megabytes. De esta forma, el archivo comprimido se dividirá en partes del tamaño especificado, lo que permitirá facilitar tanto el almacenamiento como la transferencia.

Por último, es importante destacar que el comando tar también permite realizar backup de toda una estructura de directorios con la bandera -C, que cambia de directorio antes de comenzar la operación de compresión.

El manejo de las diferentes opciones del comando tar en Linux para la compresión de archivos en línea de comandos es fundamental para mejorar la eficiencia en el almacenamiento y manejo de archivos grandes. Con estas opciones, es posible comprimir archivos de manera más eficiente y con un mejor aprovechamiento del espacio de almacenamiento disponible.

Utilización del comando gzip para mayor compresión

En nuestra guía práctica sobre la compresión de archivos en Linux con el comando tar, nos encontramos con que el nivel de compresión generado puede no ser suficiente para archivos grandes que necesiten ser almacenados o respaldados. Para solucionar esta situación, existe el comando gzip que se encarga de comprimir aun más el archivo obtenido a partir del uso de tar.

El comando gzip se encuentra disponible por defecto en la mayoría de las distribuciones de Linux, por lo que no es necesario instalarlo. A continuación, describiremos en forma de pasos cómo lograr una mayor compresión de archivos usando gzip:

  1. Accede al directorio que contiene el archivo que deseas comprimir y ejecuta el siguiente comando:

    tar -cvf <nombre archivo>.tar <archivo o carpeta a comprimir>
    
  2. Luego, ejecuta el siguiente comando para comprimir el archivo generado anteriormente:

    gzip -9 <nombre archivo>.tar
    
  3. Para descomprimir el archivo comprimido previamente, usa el siguiente comando:

    gzip -d <nombre archivo>.tar.gz
    

Es importante destacar que, para lograr una mayor compresión del archivo, en el segundo paso hemos añadido la bandera -9 a la ejecución del comando gzip. Esta bandera establece que se usará el mayor nivel de compresión posible, lo que permite obtener una mayor reducción en el tamaño de los archivos.

Es importante destacar que, si bien gzip permite obtener una alta compresión, también implica un mayor tiempo de procesamiento. Por lo que, si el tiempo de compresión no es un factor crítico para el usuario, es recomendable optar por el uso de esta herramienta.

En caso de que se quiera optar por una herramienta con mayor velocidad de procesamiento (aún cuando se sacrifique un poco el nivel de compresión obtenido), se puede optar por el comando bzip2, el cuál se encuentra disponible en muchas distribuciones de Linux.

El comando gzip es una excelente herramienta para obtener una mayor compresión de archivos ya comprimidos con el comando tar. Es importante destacar que, si bien la compresión es mayor, esto implica un mayor tiempo de procesamiento y puede no ser la mejor opción para todos los casos. Recomendamos probar tanto gzip como bzip2 (en caso de que se requiera mayor rapidez de procesamiento) para determinar cuál es la mejor herramienta según las necesidades y requerimientos de almacenamiento y backup de cada usuario.

Extracción de archivos comprimidos con el comando tar

Una de las ventajas de utilizar el comando tar para la compresión de archivos es que también permite la extracción de archivos comprimidos de manera sencilla. Si ya tenemos un archivo comprimido con extensión .tar, .tar.gz, .tar.bz2, entre otros, podemos utilizar el siguiente comando en la línea de comandos:

tar -xf archivo.tar

Este comando extraerá todos los archivos y directorios contenidos en el archivo archivo.tar. Si se trata de un archivo comprimido con extensión .tar.gz, podemos utilizar el comando:

tar -xzf archivo.tar.gz

Este comando incluye la opción -z, que indica que el archivo está comprimido en formato gzip. En caso de que el archivo tenga extensión .tar.bz2, podemos utilizar el comando:

tar -xjf archivo.tar.bz2

Este comando incluye la opción -j, que indica que el archivo está comprimido en formato bzip2.

Es importante tener en cuenta que al extraer los archivos comprimidos con tar, se creará una copia exacta de la estructura de directorios y archivos originales. Además, si alguno de los archivos a extraer ya existe en el directorio de destino, el comando tar solicitará confirmación para sobrescribirlo.

Para evitar este tipo de situaciones, podemos utilizar la opción -k, que permite mantener las copias existentes de los archivos. Por ejemplo:

tar -xkzf archivo.tar.gz

Esta opción evita la sobrescritura de archivos, permitiendo la extracción de los archivos nuevos y la conservación de los ya existentes.

La compresión de archivos y su posterior extracción son herramientas muy útiles en el manejo de archivos grandes y en la realización de backups. Con el comando tar en linux, podemos realizar estas tareas de manera sencilla y eficiente desde la línea de comandos.

La extracción de archivos comprimidos con el comando tar en linux es una tarea sencilla y eficiente que puede facilitar el almacenamiento y la transferencia de archivos grandes. Es importante tener en cuenta las opciones disponibles para evitar la sobrescritura de archivos y mantener las copias existentes.

Transferencia y respaldo de archivos comprimidos

Una vez que hemos aprendido cómo realizar compresión de archivos con el comando tar en Linux, podemos utilizar esa misma técnica para la transferencia y respaldo de archivos.

En ocasiones, necesitamos enviar un archivo grande a otra persona o equipo y es imposible hacerlo por correo electrónico debido al tamaño del archivo. La compresión con tar en línea de comandos es una buena solución para dividir el archivo en partes y enviarlas por correo electrónico o aplicaciones de mensajería.

Por ejemplo, si queremos enviar un archivo de imágenes de 5GB llamado “vacaciones2021” podemos utilizar el siguiente comando para comprimir y dividir el archivo en partes de 2GB:

tar -zcvf - vacaciones2021/ | split -b 2G -d -a 3 - vacaciones2021.tar.gz.

Este comando comprime el archivo “vacaciones2021” en formato gzip, utilizando la opción -z. La opción -c indica que la salida se va a imprimir en la pantalla, que es redirigida con el símbolo - hacia el comando split. La opción -v permite visualizar el progreso de la compresión y la opción -f indica el nombre del archivo de salida que se va a generar. La opción split divide el archivo comprimido en partes de 2GB para que puedan ser enviadas por correo electrónico o app de mensajería. “-b” indica el tamaño de cada parte, el parámetro “-d” indica que se utilicen números para el nombre de archivo en lugar de letras y “-a 3” significa que se usen tres caracteres para numerar el archivo.

Ahora, supongamos que necesitamos hacer un backup completo de nuestro servidor y queremos almacenarlo en un disco duro externo. Podemos utilizar el comando tar para comprimir todos los archivos importantes en un solo archivo y luego copiarlo al disco duro externo.

tar -czvf backup.tar.gz /

Este comando comprime todos los archivos y carpetas, incluyendo los ocultos, en la raíz del servidor. La opción -c crea un nuevo archivo, la opción -z comprime el archivo utilizando gzip y -v se utiliza para ver el progreso. El archivo generado se guardará en el directorio actual con el nombre “backup.tar.gz”.

Una vez que se ha generado el archivo de backup, lo podemos copiar al disco duro externo utilizando el comando cp:

cp backup.tar.gz /mnt/backup_drive/

Este comando copia el archivo generado al directorio “backup_drive” en el disco duro externo montado en “/mnt”.

La compresión de archivos con el comando tar en Linux es una técnica muy útil para la transferencia y respaldo de archivos grandes. Con un solo comando podemos comprimir y dividir los archivos para su envío por correo electrónico o app de mensajería. Además, podemos utilizar la compresión para hacer backups completos de nuestro servidor y almacenarlos en unidades externas para su protección y seguridad. Como una guía práctica, es importante conocer y dominar esta herramienta en línea de comandos para obtener el máximo provecho de su almacenamiento y archivos.

Otros Artículos