Existen varios formatos para comprimir y descomprimir desde la terminal en Linux. Estos permiten reducir el espacio que ocupan en disco los ficheros o hacer que su envío por Internet sea más cómodo.

En el mundo GNU/Linux los mas comunes son tar.bz2, tar.gz y zip, pero otra cosa es cual usar en cada momento.

Los formatos de compresión reducen el tamaño en disco de los ficheros, lo cual es muy útil cuando se anda escaso de espacio en disco. También podemos “empaquetar” varios archivos juntos, por lo que se puede usar para enviar varios archivos a través de la red, a una memoria USB y ahorrarnos la labor de ir adjuntando los ficheros uno a uno, ademas de tiempo de transferencia.

comprimir y descomprimir desde la terminal en linux

La respuesta es sencilla:

Formato tar.bz2

Se usarán cuando se desee comprimir mucho la información. Comparado con los otros 2 es el que más comprime, pero esto tiene un coste. Es el que más tarda en comprimir/descomprimir la información.

Formato tar.gz

Se usará cuando se desee comprimir la información rápidamente y con un grado de compresión aceptable. Comprime menos que el formato tar.bz2, pero es mucho más rápido.

Formato zip

Tiene unas características similares al formato tar.gz, pero se comporta muy bien cuando hay que descomprimir sólo una parte del fichero.

Por ejemplo, imagina que se tuviera una gran cantidad de documentación separada en muchos ficheros. De vez en cuando tuvieseis que leer la documentación de alguno de dichos ficheros. El formato idóneo para esta situación sería comprimir todos los ficheros en zip, pues el formato zip permite extraer rápidamente porciones del fichero comprimido.

Otro ejemplo, imagina que quieres hacer copias de seguridad periódicas de la información de tu ordenador. Los formatos más recomendables serían el tar.bz2 o el tar.gz, dado el alto grado de compresión. Si se dispone de mucho tiempo para hacer la copia de seguridad sería bueno usar el formato tar.bz2, pues comprime mucho más que los otros dos. Si nos corre prisa, se debería usar el formato tar.gz, pues es más rápido que el tar.bz2.

¿Cómo comprimir/descomprimir?

Para comprimir o descomprimir un arhivos tenemos por ejemplo a file-roller en Gnome, o el programa Ark en KDE. En ambos casos se nos proporciona una interfaz gráfica en la que es fácil realizar estas acciones.

Si nos gusta la consola, se usará:

.tar (tar)

Instalar                   

sudo apt-get install tar

Empaquetar          

 tar cvf archivo.tar /archivo/mayo/*

Desempaquetar    

tar xvf archivo.tar

Ver el contenido  

tar tvf archivo.tar

.tar.gz – .tar.z – .tgz (tar con gzip)

Empaquetar y comprimir               

tar czvf archivo.tar.gz /archivo/mayo/*

Desempaquetar y descomprimir 

tar xzvf archivo.tar.gz

Ver el contenido                                 

$ tar tzvf archivo.tar.gz

Las opciones de tar:
-z: Comprimir archivos usando gzip
-c: Crear un nuevo archivo
-v: Verbose, es decir, mostrar el proceso durante la creacion del archivo
-f: Nombre de archivo
-x: Extrae el contenido del archivo comprimido

.gz (gzip)

Instalar:

sudo apt-get install gzip

Comprimir (comprime y renombra como “archivo.gz”):

gzip -q archivo

Descomprimir (Descomprime y lo deja como “archivo”:

gzip -d archivo.gz

Nota: gzip solo comprime archivos, no directorios. Si quisiéramos comprimir varios ficheros y archivarlos en uno solo, como los casos de los compresores zip o rar, hay que combinar tar con gzip o con bzip2 como muestro a continuación.

.bz2 (bzip2)

Instalar:

sudo apt-get install bzip2

Comprimir  (Comprime y lo renombra como “archivo.bz2”):

bzip2 archivo 
bunzip2 archivo

Descomprimir (Descomprime y lo deja como “archivo”)

bzip2 -d archivo.bz2
bunzip2 archivo.bz2

Nota: bzip2 solo comprime archivos, no directorios. Para comprimir varios ficheros y archivarlos en uno solo, al estilo de los compresores zip o rar hay que combinar tar con gzip o con bzip2 como muestro a continuación.

.tar.bz2 (tar con bzip2)

Comprimir:

tar -c archivos | bzip2 > archivo.tar.bz2

Descomprimir:

bzip2 -dc archivo.tar.bz2 | tar -xv
tar jvxf archivo.tar.bz2

Ver contenido:

bzip2 -dc archivo.tar.bz2 | tar -tv

.zip (zip)

Instalar:

sudo apt-get install zip unzip

Comprimir:

zip archivo.zip /mayo/archivos

Descomprimir:

unzip archivo.zip

Ver contenido:

unzip -v archivo.zip

.lha (lha)

Comprimir:

lha archivo.lha /mayo/archivos

Descomprimir:

lha -x archivo.lha

Ver contenido:

lha -v archivo.lha o $ lha -l archivo.lha

.zoo (zoo)

Instalar:

sudo apt-get install zoo

Comprimir:

zoo -a archivo.zoo /mayo/archivos

Descomprimir:

zoo -x archivo.zoo

Ver contenido:

zoo -v archivo.zoo o $ zoo -L archivo.zoo

.arj

Instalar:

sudo apt-get install arj unarj

Comprimir:

arj a archivo.arj ficheros


Descomprimir:

unarj archivo.arj
arj x archivo.arj

Ver contenido: 

arj v archivo.arj
arj l archivo.arj

.rar (rar)

Instalar:

sudo apt-get install rar

Comprimir:

rar -a archivo.rar /mayo/archivos

Descomprimir:

rar -x archivo.rar

Ver contenido:

rar -v archivo.rar
rar -l archivo.rar

Para profundizar mas en el tema, abajo dejo las paginas que me ayudaron:

http://www.linuxtotal.com.mx/?cont=info_admon_004

Y una guia muy buena que consegui a ultima hora:

http://www.emezeta.com/articulos/la-guia-definitiva-de-formatos-de-compresion

Cuéntanos en los comentarios que formato utilizas y porqué.

Saludos!