¡Esta es una revisión vieja del documento!
Compresores desde la terminal
Cada fichero ocupa una determinada cantidad de espacio en un dispositivo de almacenamiento. Existen programas compresores que hacen uso de distintos algoritmos con el fin de reducir la cantidad de espacio requerido para almacenar la información.
La compresión somete a un proceso de análisis y eliminación de redundancias, que provoca que los ficheros ocupen menos espacio de almacenamiento. Hazlo especialmente para achicar los archivos para su transmisión o conservación definitiva.
Estos son algunos formatos convencionales, que guardan su utilidad.
.gz
Compresión de .gz
Usa el programa gzip para comprimir un único fichero.ext
para generar un fichero .gz
comprimido:
gzip -k fichero.ext
El sufijo-k
indica conservar elfichero.ext
original. Si omites este sufijo, gzip eliminará el original.
Descompresión de .gz
Usa gzip con el indicador -d
para descomprimir un fichero .gz
:
gzip -d fichero.gz
Si en lugar de descomprimir el contenido de un fichero .gz sólo deseas leerlo, puedes usar zcat:
zcat fichero.gz | less
.bz2
Compresión de .bz2
Uza bzip2 para comprimir tanto ficheros como directorios y generar un archivador .bz2
.
bzip2 -k ficheros_o_directorios
Descompresión de .bz2
Usa bzip2 con el sufijo -d
para descomprime el fichero .bz2
.
bzip2 -d fichero.bz2
Si en lugar de descomprimir el contenido de un fichero .bz2
sólo deseas leerlo, puedes usar bzcat:
bzcat fichero.bz2 | less
Requeriendo mayor potencia de cómputo que zip, bzip2 comprime más efectivamente. Sin embargo, es menos extendido en otras plataformas.
.xz
Compresión de .xz
Usa el programa xz para comprimir ficheros. Generarán un fichero .xz
.
xz -k fichero.ext
Descompresión de .xz
Decomprime el fichero con:
xz -d fichero.xz
.tar
El programa tar se usa para crear un fichero .tar
, un archivador concebido para meter varios ficheros en uno solo (encadenándolos binariamente uno tras otro).
Originalmente estaba pensado para almacenar este empaquetado en un carrete de cinta magnética (en la era donde tales dispositivos secuenciales eran los principales medios de almacenamiento de masa).
Desempaqueta un fichero .tar
con:
tar xvf fichero.tar
.tar.gz
Si deseas comprimir varios ficheros o directorios, colócalos en un ~/directorio
, empaquétalos en un fichero .tar
y comprímelos con gzip (formando un fichero tar.gz
).
tar czvf archivocomprimido.tar.gz ~/directorio/*
Un ficherotar.gz
que contiene un árbol de directorios con código fuente de un programa - un uso común de tar.gz - recibe el el apodo de “tarball”.
Descomprime el .tar.gz
(en ocasiones puede aparecer como .tgz
en Windows) - usando tar, y desempaqueta el resultado:
tar xvzf fichero.tar.gz
.tar.bz2
Descomprime el paquete .tar.bz2
con bzip2, y lo desempaqueta con tar.
tar xvjf fichero.tar.bz2
.tar.xz
Es similar al tar.gz, pero comprime mejor gracias al protocolo xz:
tar -cJf programa.tar.xz fichero_binario
tar.xz se suele especificar para empaquetado de programas binarios.
Descomprime el .tar.xz
con xz y desempaqueta los ficheros binarios con tar:
tar -xJf fichero.tar.xz
.zip
Los ficheros empaquetados .zip
/.ZIP
son multiplataforma y extremadamente populares. Úsalos para transferir ficheros comprimidos a otras plataformas como Windows.
Puedes comprimir varios ficheros o directorios y generar un ficherocomprimido.zip
usando una implementación libre del protocolo.
zip fichero_comprimido.zip fichero1 fichero2 fichero3
…o también comprimir recursivamente (-r
) un directorio, con los ficheros y subdirectorios que contenga:
zip -r fichero_comprimido.zip directorio
Descomprime un paquete comprimido .zip
con gzip -d
:
gzip -d fichero.zip
A pesar de que el protocolo PKware ZIP está muy extendido en todo tipo de plataformas, no contempla ciertos atributos especiales utilizados en los sistemas tipo UNIX (posesión de los archivos, ciertos permisos, etc). Por tal motivo el método recomendado en UNIX es usar |tar.gz. Ambos presentan una compresión reducida.
rar
El .rar
es un formato de empaquetado y compresión propietario de A. Roshal, muy extendido. Descomprímelo con:
rar -x fichero.rar