Comprimir y descomprimir desde la terminal
Cada fichero ocupa espacio en un medio de almacenamiento.
Existen programas compresores que - por medio de distintos algoritmos de compresion someten el contenido de un fichero a un de analisis computacional y eliminacion de redundancias, con el fin de reducir el espacio que este ocupaba.
Esto es especialmente util para achicar el fichero para su transmision o conservacion definitiva.
Los sistemas similares a Unix cuentan con
varios de estos compresores, pues existen varios formatos comprimidos.
Podras manejarlos desde la consola, operando casi siempre
con opciiones muy similar: conservan una copia del fichero original y
una comprimida con -k
y descomprir con -d
.
Los formatos comprimidos mas comunes son:
.gz
GNU Zip es un programa de compresion estandar de baja performance. Solo es capaz de comprimir un solo fichero
Compresion de .gz
Usa el programa gzip para comprimir
fichero.ext
. Esto creara una copia comprimida con extension
.gz
:
gzip -k fichero.ext
El sufijo
-k
indica conservar elfichero.ext
original. Si lo omites, gzip comprime el fichero enfichero.ext.gz
.
Descompresion de .gz
Usa gzip con el indicador -d
para
descomprimir un fichero .gz
:
gzip -d fichero.gz
Si deseas leer el contenido de un fichero de texto comprimido en un
.gz
, usa zcat:
zcat fichero.gz | less
.bz2
bzip2 requiere mayor potencia de computo que GNU Zip pero comprime mas efectivamente. Sin embargo, esta menos extendido en otras plataformas.
Compresion de .bz2
Usa bzip2 para comprimir solo un fichero y
generar un archivador .bz2
.
bzip2 -k fichero.ext
Descompresion de .bz2
Usa bzip2 con el sufijo -d
para
descomprime el fichero .bz2
.
bzip2 -d fichero.bz2
Si solo deseas leer el contenido de un fichero de texto comprimido
con .bz2
, usa bzcat:
bzcat fichero.bz2 | less
.xz
La compresion mas extrema (y de menor velocidad) la logra el compresor xz.
Compresion de .xz
Con el programa xz podras comprimir un solo
fichero; esto generara un fichero .xz
.
xz -k fichero.ext
Descompresion de .xz
Decomprime un fichero.xz
con:
xz -d fichero.xz
.tar
El programa tar se usa para crear un
archivador .tar
, un fichero concebido para
contener varios ficheros e incluso directorios, encadenandolos
binariamente uno tras otro.
Originalmente estaba pensado para almacenar este fichero archivado en un medio de almacenamiento secuencial, como un carrete de cinta magnetica (en una era donde la cinta era el principal medio de almacenamiento de masa).
Archivar en .tar
Archiva todos los ficheros contenidos de un directorio
con tar:
tar cvf archivoempaquetado.tar directorio/*
Desarchivar un .tar
Extrae el contenido de un fichero .tar
:
tar xvf archivoempaquetado.tar
Comprimir archivadores .tar.gz
Si bien es posible crear un archivador .tar
y
comprimirlo en dos pasos, tar contempla la compresion y
descompresion directa del archivador en un unico paso:
Comprimir un archivador .tar.gz
Si no lo has hecho, coloca los ficheros que desees en un
~/directorio
, y archivalo
en un fichero .tar
, y comprimelo con
gzip.
Archiva varios ficheros o directorios y comprimelos con gzip,
creando un archivo tar.gz
.
tar czvf archivocomprimido.tar.gz ~/directorio/*
Un archivo
tar.gz
que contiene un arbol de directorios con codigo fuente de un programa - un uso comun de este tipo de ficheros - recibe el el apodo de "tarball".
Descomprimir un archivador .tar.gz
Descomprime con gzip y extrae el contenido del archivador comprimido
.tar.gz
(en ocasiones puede aparecer como .tgz
en Windows):
tar xvzf archivo.tar.gz
Ver tambien: gpgtar
.tar.bz2
Comprimir el archivador .tar.bz2
Archiva y comprime el contenido del archivo .tar.bz2 con bzip2:
tar cvjf archivo.tar.bz2 directorio/*
Descomprimir el archivador .tar.bz2
Descomprime y extrae el contenido del fichero
tar.bz2
:
tar xvjf archivo.tar.bz2
.tar.xz
Es similar al tar.gz, pero comprime mejor el archivador gracias al protocolo xz:
Comprime el archivador .tar.xz
En BSD debes crear primero el tar y luego comprimirlo con xz para
crear el archivo.tar.xz
:
tar cvf archivo.tar directorio/* ;
xz archivo.tar
tar.xz se suele especificar para empaquetado de binarios de software.
Descomprime el archivador .tar.xz
En BSD debes descomprimir el .tar.xz
con
xz y desarchiva su contenido:
xz -d archivo.tar.xz ;
tar xf archivo.tar
.zip
Los archivos comprimidos .zip
/.ZIP
fueron
desarrollados por Phil Katz, y extremadamente populares en multiples
plataformas y sistemas operativos. Usalos si debes transferir ficheros
comprimidos a otras plataformas como Windows.
Comprimir .zip
Comprime varios ficheros o directorios y generar un
archivo.zip
:
zip fichero_comprimido.zip fichero1 fichero2 fichero3
...o puedes usar la opcion (-r
) para comprimir
recursivamente los contenidos de directorio/s, con los ficheros y
subdirectorios que contenga/n:
zip -r archivo_comprimido.zip directorio
Descomprimir .zip
Descomprime un archivo comprimido .zip
con gzip
-d
:
unzip archivo.zip
A pesar de que el protocolo PKware ZIP funcionan en la mayoria de las plataformas, no contempla ciertos atributos especiales utilizados en sistemas tipo UNIX (posesion de los archivos, ciertos permisos, etc). Por tal motivo el metodo recomendado en UNIX es usar
tar.gz
. Ambos presentan una compresion reducida.
rar
El .rar
es un formato de empaquetado y compresion
propietario de A. Roshal, muy extendido. Descomprimelo con:
rar -x fichero.rar
Conclusion
Anuncia tu aprendizaje a la comunidad con gab:
gab -m "¡He aprendido a comprimir y descomprimir desde la terminal!"