"Si tú no trabajas por tus sueños, alguien te contratará para que trabajes por los suyos”

Steve Jobs

Afiliado
Dominios3Euros

Existen muchos tipos de formatos para comprimir archivos en linux, por ello para poder comprimir o descomprimir archivos desde terminal. Los programa que comprimen utiliza un algoritmo para comprimir, unos utiliza LZ77 de la familia de los compresores de texto sin perdidas, al contrario de los que utiliza lossy, que estos intentan omitir información buscando disminuir el peso.

Alguno de formatos de compresión que conozco y utilizo:

  • TAR: Realmente no es formato compresión, sino mas bien formato de empaquetado.
  • Zip:  Utilizado windows, linus y OS. Seguramente uno de los mas conocidos, eso no implica que sea el que mejor comprima. Extensión .zip
  • Gzip: Es un sistema de GNU y muy utilizado en plataformas linus y unix, en windows se puede utilizar pero necesitas de software adicional (7-zip, WinRAR).El ratio de compresión es mucho mayor que zip. Extensión .gz
  • BZip: Superior al anterior y con licencia BSD. Tanto este formato como el anterior solo permite comprimir un solo fichero, por lo que si queremos empaquetar varios ficheros , debemos utilizar el formato Tar. La extensión sería .bzip y paquete seria .tar.bz2
  • RAR: Formato de compresión propietario, super conocida  por su aplicación WinRar, pero nosotros aquí lo descartamos , precisamente por ser un software privado. Extensión .rar
  • 7-Zip: Formato de compresion que trae el software 7-Zip, que es libre y multiplataforma. Extensión .7z ( Nuestra recomendación para aquellos que utiliza windows.)
  • xz: Este formato es el que utilizamos para compresión de las copias de seguridad de nuestras base de datos.

Si quiere saber mas y ver mas sobre ellos puedes verlo en https://www.emezeta.com/articulos/la-guia-definitiva-de-formatos-de-compresion

 

Desde terminal como los utilizo

El comprimir /descomprimir ficheros desde terminal es la forma que recomendamos hacerlo ya que piensamos  que mucho mas rápido que utilizando un programa visual. Si trabajas con servidores y por terminal se convierte en imprescindible  ya que sino sabes no puedes realizarlo.

Instrucciones básicas de compresión/descomprimir para linux

Fichero Tar ( Empaquetado y desempaquetar)

Recuerda que este no es un sistema de compresión.

Empaquetar:

tar -cvf archivo.tar /dir/a/comprimir/

Desempaquetar:

tar -xvf archivo.tar

Ver contenido:

tar -tf archivo.tar

 

Fichero Zip

Este no viene por defecto en instalaciones de linux, es el mas conocido, pero es el que mejor resultado consigues.

Comprimir:

zip archivo.zip ficheros

Descomprimir:

unzip archivo.zip

Ver contenido:

unzip -v archivo.zip

 

Fichero GZip

Es un sistema de GNU y muy utilizado en plataformas linus y unix, en windows se puede utilizar pero necesitas de software adicional (7-zip, WinRAR).El ratio de compresión es mucho mayor que zip. Extensión .gz

Comprimir:

gzip -9 fichero

Descomprimir:

gzip -d fichero.gz

Recuerda de este sistema compresión solo permite comprimir un solo fichero, por ello si quieres comprimir varios tienes que utilizar tar para empaquetar.

Comprimir y empaquetar :

tar -czf archivo.tar.gz ficheros

Descomprimir ficheros empaquetados y comprimidos con tar/gzip:

tar -xzvf archivo.tar.gz

Ver contenido empaquetado:

 tar -tzf archivo.tar.gz

Fichero con extension xz

Comprimir

La compresion es muy sencilla:

xz file

Este comprime el fichero file, pero lo elimina y lo sustituye por uno comprimido añadiendo al extension .xz

Si lo queremos es que mantenga el fichero original.

xz -k file

Asi mantiene el fichero.

Descomprimir

 Con la opcion -d

xz -d file.xz

O tiene otra opcion poniendo unxz

unxz file.xz

 

 

 

Comprimir con Git

Todos sabéis que nosotros adoramos git, que es nuestro controlador de versiones favorito, por ello también pongo como comprimir con git

git archive --format=tar.gz --prefix=miDirectoriox/ -o ~/nombrefichero.tar.gz rama

 Explicacion de por parte la  instrucción :

--format=tar.gz  -> Formato de compresion del fichero que vamos a crear, segun git help archive nos dice que puede ser zip o tar.
-o ~/nombrefichero.tar -> es la ruta y nombre de fichero comprimido que vamos crear
--prefix=miDirectoriox/ -> es el directorios donde esta nuestro repositorios. ( Si esta en el no hace falta) 
rama  ->  la rama queremos copiar sin el .git

 

Otras fuentes:

https://sololinux.wordpress.com/2008/07/27/comprimir-y-descomprimir-desde-la-terminal-de-linux/