Empaquetar, comprimir y descomprimir desde la consola de comandos en Linux
Muchas veces necesitamos trasladar grandes volúmenes de informaciones desde un servidor a otro o quizás a un dispositivo USB externo. Al realizar esta copia, en ocasiones se vuelve tedioso el tiempo de espera, ya que en la mayoría de los casos son miles o millones de ficheros copiándose de un lado para otro y la velocidad de la transferencia varía en dependencia de muchos factores.
En la práctica podemos lograr que al copiar estos ficheros la velocidad de transferencia sea un poco más estable y rápida, logrando así un menor tiempo en la espera de este proceso.
¿Cómo lo logramos?
Empaquetando todos los ficheros en uno solo, increíblemente es mucho más práctico, se lo aseguro. Este proceso de empaquetado lo haremos mediante el formato de archivo más usado en entornos UNIX, identificado con la extensión .tar.
Ejemplos de opciones más usados
Empaquetar:
tar cvf archivo.tar /directorio/* |
Empaquetara todo el contenido del directorio
Desempaquetar:
tar xvf archivo.tar |
Extraerá todo el contenido del fichero archivo.tar
Visualizar:
tar tvf archivo.tar |
Se podrá ver el contenido sin extraer del fichero archivo.tar
Es importante aclarar que la orden del TAR no comprime, solo almacena archivos y directorios en un solo fichero, por lo que no reduce el tamaño de los archivos. Sin embargo se puede combinar la funcionalidad de los archivos .tar con una compresión de datos que disminuya su tamaño final.
Métodos de comprensión existen muchos, los más usados en sistemas Unix son gz y bz, estos tienen un problema, solo comprimen archivos, no directorios, es por ello que antes hay que empaquetar todo los archivos.
¿Cómo Empaquetar, Comprimir y Descomprimir?
.tar.gz – .tar.z – .tgz (tar con gzip)
Empaquetar y comprimir: tar czvf archivo.tar.gz /directorio/* Desempaquetar y descomprimir: tar xzvf archivo.tar.gz Ver el contenido sin extraer: tar tzvf archivo.tar.gz |
.tar.bz2 (tar con bzip2)
Empaquetar y comprimir: tar -c /directorio/* | bzip2 > archivo.tar.bz2 Desempaquetar y descomprimir: bzip2 -dc archivo.tar.bz2 | tar -xv Ver el contenido sin extraer: bzip2 -dc archivo.tar.bz2 | tar -tv |
Otras opciones para Comprimir y Descomprimir
.gz (gzip)
Comprimir: gzip -q archivo Descomprimir: gzip -d archivo.gz |
.bz2 (bzip2)
Comprimir: bzip2 archivo Descomprimir: bzip2 -d archivo.bz2 |
.zip (zip)
Comprimir: zip archivo.zip /directorio/fichero Descomprimir: unzip archivo.zip Ver contenido: unzip -v archivo.zip |
.rar (rar)
Comprimir: rar -a archivo.rar /directorio/fichero Descomprimir: rar -x archivo.rar Ver contenido: rar -v archivo.rar rar -l archivo.rar |
.lha (lha)
Comprimir: lha archivo.lha /directorio/fichero Descomprimir: lha -x archivo.lha Ver contenido: lha -v archivo.lha lha -l archivo.lha |
.zoo (zoo)
Comprimir: zoo -a archivo.zoo /directorio/fichero Descomprimir: zoo -x archivo.zoo Ver contenido: zoo -v archivo.zoo zoo -L archivo.zoo |
.arj (arj)
Comprimir: arj a archivo.arj /directorio/fichero Descomprimir: arj -x archivo.arj Ver contenido: arj -v archivo.arj arj -l archivo.arj |
Nota: Intentar no usar RAR o ARJ que usan formatos propietarios.
Enlaces
Wikipedia: http://es.wikipedia.org/wiki/Tar
One kind of Life: http://doutdex.wordpress.com/2008/04/28/comprimir-y-descomprimir-rargzipziptartargzbz2-lha-zoo-en-linux-comando-consola/