Compresion y descompresion de archivos Tar y Zip

El propósito principal de este articulo es asistir en la comprensión de como manejar los formatos de archivo mas comunes como TAR, GZIP, BZIP, y ZIP en sistemas operativos Linux, incluyendo CentOS, Ubuntu y sistemas operativos basados en Unix como MacOS, incluyendo OS X por medio de la linea de comandos, ya sea una sesión de terminal local o vía SSH.

Como instalar las herramientas necesarias

Muchos sistemas operativos similares a Linux ya cuentan con las herramientas necesarias para manipular archivos TAR, GZIP, BZIP, sin embargo, en el caso de no contar con dichas herramientas ya sea por utilizar una versión mínima del SO o si removió las herramientas en el pasado, puede proceder con los siguientes pasos. Seleccione la pestaña de acuerdo al sistema operativo que esta utilizando.



Utilizando archivos TAR

El formato de archivos TAR es un formato de almacenamiento que no incluye compresión activa por defecto. Usualmente en Linux los elementos son agregados a un mismo archivo y posteriormente comprimidos con gzip. La extensión de los archivos TAR es .tar

Colocar un directorio en un archivo TAR

Ejecute lo siguiente para crear un archivo .tar que contenga los elementos del directorio especificado:

tar cvf NOMBREDEARCHIVO.tar DIRECTORIO/

Reemplace NOMBREDEARCHIVO con el nombre de archivo que desea y DIRECTORIO con la ruta del directorio que desea comprimir. 

Descripción de las banderas de comando

c: Crea un archivo TAR.
v: Muestra detalladamente (Señala detalladamente que esta pasando).
f: Especifica un nombre de archivo para el archivo TAR resultante.

Colocar un directorio en un archivo TAR y comprimirlo con GZIP

Ejecute lo siguiente para crear un archivo .tar.gz que contenga los elementos del directorio especificado:

tar cvfz NOMBREDEARCHIVO.tar.gz DIRECTORIO/

Reemplace NOMBREDEARCHIVO con el nombre de archivo que desea y DIRECTORIO con la ruta del directorio que desea comprimir.

Algunos archivos comprimidos con GZIP utilizan la extensión de archivo .tgz

Descripción de las banderas de comando

c: Crea un archivo TAR.
v: Muestra detalladamente (Señala detalladamente que esta pasando).
f: Especifica un nombre de archivo para el archivo TAR resultante.
z: Comprime el archivo TAR con GZIP.

Colocar un directorio en un archivo TAR y comprimirlo con BZIP2

Ejecute lo siguiente para crear un archivo .tar.bz2 que contenga los elementos del directorio especificado comprimido con BZIP. (La diferencia de GZIP y BZIP es que este ultimo crea archivos mas pequeños a cambio de mas tiempo de procesamiento):

tar cvfj NOMBREDEARCHIVO.tar.bz2 DIRECTORIO/

Reemplace NOMBREDEARCHIVO con el nombre de archivo que desea y DIRECTORIO con la ruta del directorio que desea comprimir.

Descripción de las banderas de comando

c: Crea un archivo TAR.
v: Muestra detalladamente (Señala detalladamente que esta pasando).
f: Especifica un nombre de archivo para el archivo TAR resultante.
j: Comprime el archivo TAR con BZIP2.

Extraer elementos de archivos TAR

Ejecute el siguiente comando para extraer archivos y directorios de un archivo .tar comprimido:

tar xvf ARCHIVO.tar

Reemplaza ARCHIVO con el nombre de archivo del archivo que desea descomprimir. El archivo aparecerá en el directorio actual.

Descripción de las banderas de comando

x: Extrae el contenido del archivo especificado.
v: Muestra detalladamente (Señala detalladamente que esta pasando).
f: Especifica un nombre de archivo para descomprimir.

Extraer elementos de archivos GZIPPED TAR

Ejecute el siguiente comando para extraer archivos y directorios de archivos TAR comprimidos en GZIP:

tar xvfz ARCHIVO.tar.gz

Reemplaza ARCHIVO con el nombre de archivo del archivo que desea descomprimir. El archivo aparecerá en el directorio actual.

Descripción de las banderas de comando

x: Extrae el contenido del archivo especificado.
v: Muestra detalladamente (Señala detalladamente que esta pasando).
f: Especifica un nombre de archivo para descomprimir.
z: Descomprime el archivo vía GZIP.

Extraer elementos de archivos BZIPPED TAR

Ejecute el siguiente comando para extraer archivos y directorios de un archivo TAR comprimido en BZIP:

tar xvfj ARCHIVO.tar.bz2

Reemplaza ARCHIVO con el nombre de archivo del archivo que desea descomprimir. El archivo aparecerá en el directorio actual.

Descripción de las banderas de comando

x: Extrae el contenido del archivo especificado.
v: Muestra detalladamente (Señala detalladamente que esta pasando).
f: Especifica un nombre de archivo para descomprimir.
j: Descomprime el archivo vía BZIP2.


Si desea utilizar otro directorio para extraer los archivos en lugar de utilizar el directorio actual, puede agregar -C /RUTA/AL/DIRECTORIO/ a la linea de comandos. Reemplace /RUTA/AL/DIRECTORIO/ con la ruta actual al directorio donde desea que los archivos sean colocados.


Utilizando archivos ZIP

Zip es el formato de compresión de archivos mas popular. Los archivos Zip usualmente tienen la extensión .zip

Comprimir un directorio en un archivo ZIP

Ejecute el siguiente comando para colocar los archivos de un directorio especifico en un archivo ZIP comprimido.

zip -r ARCHIVO.zip DIRECTORIO/

Descripción de las banderas de comando

-r: Comprime todos los archivos y directorios de manera recursiva que estén dentro de DIRECTORIO/ en el archivo ZIP (de otra forma solo se comprimirán los archivos externos).

Descomprimir un archivo ZIP en el Directorio actual

Ejecute el siguiente comando para descomprimir los elementos del archivo ZIP en el directorio actual.

unzip ARCHIVO.zip