Comprimir archivos en Ubuntu con el comando tar

Publicado por P. Ruiz en

Ya hemos aprendido, hace unos días, cómo Comprimir archivos en Ubuntu con el comando gzip. Sin embargo, quizás la operación más común sea crear un solo archivo que contenga en su interior una copia de varios archivos y/o carpetas, pero ocupando menos espacio que los originales.

En estos casos, el comando que suele utilizarse en Ubuntu, y en el resto de distribuciones GNU/Linux, es tar. Hoy vamos a explicarte cómo hacer un uso sencillo de este comando.

¿Cómo funciona tar?

En realidad, el comando tar está pensado para crear un nuevo archivo que actúe como contenedor de otros archivos, pero no los comprime.

Así, por ejemplo, podemos crear un archivo que contenga en su interior todas las imágenes en formato jpeg de un directorio, escribiendo la siguiente orden:

tar -vcf ~/Imágenes/wallpaper/imágenes.tar ~/Imágenes/wallpaper/*.jpeg

Escribimos el comando y pulsamos la tecla Intro.

Comprimir-archivos-en-Ubuntu-con-el-comando-tar-001

En nuestro ejemplo, hemos utilizado la misma ruta como origen y como destino, para que puedas ver en la ventana del explorador de archivos lo que está ocurriendo. Sin embargo, tú puedes usar las que prefieras.

En este caso, el argumento v nos permite obtener detalles del funcionamiento de tar, el argumento c indica que queremos crear un archivo y el argumento f especifica el nombre del archivo contenedor (en este ejemplo, Imágenes.tar).

A continuación, sólo nos falta incluir los archivos que vamos a almacenar en el contenedor (en nuestro ejemplo, todos los que terminen en .jpeg).

Al pulsar la tecla Intro, aparecerá un nuevo archivo en la carpeta que contenía las imágenes.

También aparece en la ventana de la terminal una lista de los archivos que se han incorporado.

Comprimir-archivos-en-Ubuntu-con-el-comando-tar-002

Almacenar archivos concretos

En la orden anterior, podemos sustituir el patrón por varios nombres de archivos individuales separados por comas.

Además, para simplificar la orden, hemos comenzado por desplazarnos hasta la ruta donde se encuentran los archivos. Así no tenemos que escribir la ruta completa en el comando tar:

cd ~/Imágenes/wallpaper

A continuación, escribimos la nueva versión de la orden tar:

tar -vcf imágenes.tar photo01.jpeg photo02.jpeg photo03.jpeg

También hemos eliminado el archivo que creamos en el apartado anterior, para que se vea de nuevo el resultado.

Comprimir-archivos-en-Ubuntu-con-el-comando-tar-003

Al ejecutar el comando, comprobamos que aparece el archivo contenedor.

Y, como antes, aparece en la ventana de la terminal una lista de los archivos que se han incorporado.

Comprimir-archivos-en-Ubuntu-con-el-comando-tar-004

Comprobar el contenido de un archivo contenedor

Una vez creado el archivo contenedor, podremos consultar su contenido cambiando el argumento c por t. Así, para ver el contenido del archivo anterior, escribiremos lo siguiente:

tar -vtf imágenes.tar

De nuevo, escribimos el comando y pulsamos la tecla Intro.

Comprimir-archivos-en-Ubuntu-con-el-comando-tar-005

Al hacerlo, obtenemos una línea por cada archivo donde se muestra el usuario y grupo propietario del archivo, su tamaño, la fecha y hora de su creación y el nombre completo.

Información detallada del contenido del archivo imágenes.tar

Comprimir-archivos-en-Ubuntu-con-el-comando-tar-006

Extraer el contenido de un archivo contenedor

Para comprobar cómo funciona la extracción del contenido de un archivo contenedor, lo primero que vamos a hacer es mover el archivo a una carpeta diferente:

mv imágenes.tar ../destino

Después, hacemos que la carpeta de destino se convierta en nuestra carpeta actual:

cd ../destino

Y por último extraemos el contenido del archivo. Para lograrlo, sólo tenemos que utilizar el argumento x:

tar -vxf imágenes.tar

Ejecutamos los comandos anteriores.

Comprimir-archivos-en-Ubuntu-con-el-comando-tar-007

El comando nos muestra los archivos que se han extraído.

Resultado de la extracción.

Comprimir-archivos-en-Ubuntu-con-el-comando-tar-008

Y para comprobar que todo ha sido correcto, nos desplazamos con el explorador de archivos hasta la carpeta de destino.

Vemos el resultado en el explorador de archivos.

Comprimir-archivos-en-Ubuntu-con-el-comando-tar-009

¿Cómo comprimir archivos con tar?

Hemos dicho al principio que el comando tar, por sí mismo, no comprime la información que guarda dentro del archivo contenedor. Sin embargo, podemos utilizar el argumento z para que la salida del comando tar se envíe al comando gzip obteniendo así un archivo comprimido.

Para comprobarlo, volvemos a la carpeta con las imágenes originales:

cd ../wallpaper/

Y escribimos el siguiente comando:

tar -czvf imágenes.tar.gz *.jpeg

De esta forma, tar opera con archivos comprmidos de forma transparente.

Comprimir-archivos-en-Ubuntu-con-el-comando-tar-010

El funcionamiento de tar será similar al del primer ejemplo de este artículo.

… Pero ahora el contenido del archivo estará comprimido.

Comprimir-archivos-en-Ubuntu-con-el-comando-tar-011

Además, incluso podemos elegir enviarlos a bzip2, otro comando de compresión que aplica algoritmos diferentes a gzip. Para lograrlo, basta con cambiar el argumento z, que añadíamos en el ejemplo anterior, por el el argumento j.

Por lo tando, el comando nos quedaría así:

tar -cjvf imágenes.tar.bz2 *.jpeg

Escribimos el comando y pulsamos la tecla Intro.

Comprimir-archivos-en-Ubuntu-con-el-comando-tar-012

De nuevo, tar nos muestra la lista de los archivos procesados.

Y en la ventana del explorador de archivos aparecerá el nuevo archivo que hemos creado.

Comprimir-archivos-en-Ubuntu-con-el-comando-tar-013

Y hasta aquí el artículo de hoy. Espero que te haya parecido útil.