You are on page 1of 12

Mtodos de compresin y descompresin en Linux

Hola chic@s, aqu os traigo un how-to para poder descomprimir los distintos tipos de ficheros que nos podemos encontrar en Linux y aparte como poder comprimir.

Ficheros tar
Para poder empaquetar ficheros, utilizamos el siguiente comando: tar -cvf archivo.tar /dir/a/comprimir/ -c : indica a tar que cree un archivo. -v : indica a tar que muestre lo que va empaquetando. -f : indica a tar que el siguiente argumento es el nombre del fichero.tar. Para poder desempaquetar los ficheros .tar, utilizamos el siguiente comando: tar -xvf archivo.tar -x : indica a tar que descomprima el fichero.tar. -v : indica a tar que muestre lo que va desempaquetando. -f : indica a tar que el siguiente argumento es el nombre del fichero a desempaquetar. Si se quiere ver el contenido de un fichero .tar, se utiliza el siguiente comando: tar -tf archivo.tar -t : Lista el contenido del fichero .tar -f : indica a tar que el siguiente argumento es el nombre del fichero a ver.

Ficheros gz
Para comprimir ficheros en formato .gz, se utiliza el siguiente comando: gzip -9 fichero -9 : le indica a gz que utilice el mayor factor de compresin posible. Para descomprimir ficheros .gz, se utilizara el siguiente comando: gzip -d fichero.gz -d : indica descompresin

Ficheros bz2
Para comprimir ficheros en formato bz2, se utiliza el siguiente comando:

bzip fichero Para descomprimir ficheros .bz2, se usa el comando siguiente: bzip2 -d fichero.bz2 -d : indica descompresin. Nota: Tanto el compresor gzip como bzip2, solo comprimen ficheros, no directorios, para comprimir directorios (carpetas), se debe de usar en combinacin con tar.

Ficheros tar.gz
Para comprimir ficheros en formato tar.gz, se utiliza el siguiente comando: tar -czfv archivo.tar.gz ficheros -c : indica a tar que cree un archivo. -z : indica que use el compresor gzip -f : indica a tar que el siguiente argumento es el nombre del fichero.tar -v : indica a tar que muestre lo que va empaquetando Para descomprimir ficheros con extensin tar.gz, se usa el siguiente comando: tar -xzvf archivo.tar.gz -x : le dice a tar que extraiga el contenido del fichero tar.gz -z : le indica a tar que esta comprimido con gzip -v : va mostrando el contenido del fichero -f : le dice a tar que el siguiente argumento es el fichero a descomprimir. Para poder ver el contenido de un fichero comprimido en tar.gz, se usa el siguiente comando: tar -tzf archivo.tar.gz

Ficheros tar.bz2
Para comprimir en tar.bz2, se hace uso del parmetro pipeline ( | ), que consiste en que filtra la salida de un comando a la entrada de otro, como es en este ejemplo: tar empaqueta los distintos ficheros o directorios y su salida lo pasa al comando bzip2 para que este lo comprima y el resultado de este, lo redirecciona ( > ) al fichero final tar.bz2 tar -c ficheros | bzip2 > archivo.tar.bz2 Para descomprimir ficheros tar.bz2, se utiliza el siguiente comando: bzip2 -dc archivo.tar.bz2 | tar -xv

Y para ver el contenido de un fichero tar.bz2, se usa el siguiente comando: bzip2 -dc archivo.tar.bz2 | tar -t

Ficheros zip
Para poder comprimir en formato zip, se usara el comando siguiente: zip archivo.zip ficheros a comprimir Para poder descomprimir los ficheros zip, se usa el siguiente comando: unzip archivo.zip Para ver el contenido de un fichero zip, se pone el siguiente comando: unzip -v archivo.zip

Ficheros rar
Para comprimir en formato rar, se usara el siguiente comando: rar -a archivo.rar ficheros Para descomprimir ficheros en formato rar, se utiliza el siguiente comando: unrar -x archivo.rar Para ver el contenido de un fichero rar, se usa el siguiente comando: unrar -v archivo.rar unrar -l archivo.rar Tengo que decir que todos estos comandos, es para hacerlo desde terminal una terminal, como ejemplo os vendra de maravilla si os quedarais sin entorno grfico y tuvieseis que descomprimir algn archivo. Pero para los que no quieran usar la terminal, pueden estar tranquilos, que existen muy buenas interfaces grficas. Como lo es File Roller.

Fuente: badopi

http://linuxzone.es/metodos-de-compresion-y-descompresion-en-linux/

Compresin y descompresin de archivos.


Autor: Joel Barrios Dueas Correo electrnico: darkshram en gmail punto com Sitio de Red: http://www.alcancelibre.org/ Jabber ID: darkshram@jabber.org
Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1
1999-2012 Joel Barrios Dueas. Usted es libre de copiar, distribuir y comunicar pblicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe

autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicacin, a travs de cualquier medio, por entidades con fines de luc

transforma esta obra o genera una obra derivada, slo puede distribuir la obra generada bajo una licencia idntica a sta. Al reutilizar o distribuir la obra, tiene q

los trminos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos legtimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La informacin contenida en este documento y los derivados de ste cual son y los autores no asumirn responsabilidad alguna si el usuario o lector hace mal uso de stos.

Introduccin.
el directorio de inicio del usuario utilizado.

Por favor, siga los procedimientos al pie de la letra. En varios ejemplos utilizar el caracter ~ (tilde), que es una form

Acerca de ZIP.

ZIP es un formato de archivo simple, creado originalmente por Phil Katz, fundador de PKWARE, el cual comprime cada

archivos que contiene de forma separada, lo cual permite recuperar cada uno de los archvios almacenados sin tener qu

resto del archivo ZIP que los contiene, lo que permite un mejor rendimiento. Cada archivo puede ser almacenado sin co

con una amplia variedad de algoritmos de compresin, aunque el ms utilizado y prctico es el algoritmo original de Ph

Acerca de TAR.
El formato de almacenamiento de archivos conocido como TAR o Tape ARchiver (archivador en cinta), fue diseado almacenamiento de archivos en cintas magnticas. El formato se procesa de manera lineal, de modo que es necesario estndares POSIX.1-1998 y POSIX.1-2001

el archivo para poder poder extraer cualquier elemento que ste contenido en el archivo TAR. Actualmente est definid

Acerca de GZIP.

El formato de compresin GZIP (GNU ZIP), creado por Mark Adler y Jean-loup Gailly, es una alternativa a los formato

otros algoritmos patentados que limitaban el uso del programa compress, hasta entonces lo ms comnmente utilizad

GZIP utiliza la biblioteca Zlib, la cual se basa sobre el algoritmo Deflate, que es una combinacin del LZ77 y la codificac otro formato de almacenamiento de archivos.

Es importante sealar que GZIP slo realiza la compresin de los archivos, el almacenamiento se realiza utilizando TAR

Acerca de BZIP2

El formato de compresin BZIP2, desarrollado y mantenido por Julian Seward, utiliza los algoritmos de compresin de

Wheeler y el algoritmo de codificacin de Huffman. Aunque el porcentaje de compresin de los archivos depende del co

stos mismos, resulta una mejor alternativa a ZIP y GZIP, pero con un mayor consumo de memoria y recursos de sistem

Acerca de XZ.

El formato de compresin XZ, creado y mantenido por Lasse Collin, utiliza el algoritmo de compresin LZMA2, a trav

biblioteca liblzma. Tiene un mejor rendimiento que BZIP2 (consume menos memoria y recursos de sistema) con mejore formato ms utilizado a la fecha para distribucin de cdigo fuente de Software Libre.

compresin. Es el formato utilizado hoy en da para la compresin de archivos TAR de cdigos fuente, aunque GZIP a

Procedimientos.
Ingrese al sistema como el usuario root y asegrese que estn instalados los paquetes tar, zip, unzip, gzip, bzip2 y xz. Si utiliza CentOS, Fedora o Red Hat Enterprise Linux, ejecute lo siguiente:
yum -y install tar zip unzip gzip bzip2 xz

Si utiliza openSUSE o SUSE Linux Enterprise, ejecute lo siguiente:


yast -i tar zip unzip gzip bzip2 xz

Al terminar, cierre la sesin del usuario root, ejecutando el mandato exit:

exit

Preparativos.
Ingrese nuevamente al sistema como usuario regular (fulano). A fin de disponer de datos con los cuales experimentar, copie el directorio /usr/share/pixmaps dentro del directorio de usuario utilizado.

cp -a /usr/share/pixmaps ~/ Compresin y descompresin de archivos *.zip.


Consulte el manual del mandato zip ejecutando lo siguiente:

man 1 zip
Consulte el manual del mandato unzip ejecutando lo siguiente:

man 1 unzip
Genere un archivo .zip ejecutando lo siguiente:

zip -r foo.zip pixmaps/


Para mostrar la lista del contenido del archivo foo.zip, ejecute:

unzip -l foo.zip
Extraiga el contenido del archivo foo.zip dentro del directorio ~/ejemplos1/, ejecutando lo siguiente:

unzip foo.zip -d ~/ejemplos1/

Si la salida le pregunta si desea sobre-escribir los archivos existentes, responda que si a todo pulsando la letra A (sobr y la tecla ENTER. extensin *.png, ejecutando lo siguiente:

Extraiga el contenido del archivo foo.zip dentro del directorio ~/ejemplos1/, pero slo extrayendo los archivos del prime

unzip foo.zip -d ~/ejemplos1/ *.png

Si la salida le pregunta si desea sobre-escribir los archivos existentes, responda que si a todo pulsando la letra A (sobr y la tecla ENTER. extensin *.png, ejecutando lo siguiente:

Extraiga el contenido del archivo foo.zip dentro del directorio ~/ejemplos1/, pero slo extrayendo los archivos del segu

unzip foo.zip -d ~/ejemplos1/ */*.png

Si la salida le pregunta si desea sobre-escribir los archivos existentes, responda que si a todo pulsando la letra A (sobr y la tecla ENTER.

Creacin y extraccin de archivos *.tar.

Consulte el manual del mandato tar ejecutando lo siguiente:

man 1 tar
Genere un archivo .tar (sin compresin) ejecutando lo siguiente:

tar cf foo.tar pixmaps/


Para mostrar la lista del contenido del archivo foo.tar, ejecute:

tar tvf foo.tar


Extraiga el contenido del archivo foo.tar dentro del directorio ~/ejemplos1/, ejecutando lo siguiente:

tar xvf foo.tar -C ~/ejemplos1/

Extraiga el contenido del archivo foo.tar dentro del directorio ~/ejemplos1/, pero slo extrayendo los archivos con exte ejecutando lo siguiente:

tar xvf foo.tar -C ~/ejemplos1/ --wildcards '*.png' Compresin y descompresin de archivos *.tar.gz.
Genere un archivo .tar.gz (con compresin GZIP) ejecutando lo siguiente:

tar zcf foo.tar.gz pixmaps/


Para mostrar la lista del contenido del archivo foo.tar.gz, ejecute:

tar ztvf foo.tar.gz


Extraiga el contenido del archivo foo.tar.gz dentro del directorio ~/ejemplos1/ ejecutando lo siguiente:

tar zxvf foo.tar.gz -C ~/ejemplos1/

Extraiga el contenido del archivo foo.tar.gz dentro del directorio ~/ejemplos1/, pero slo extrayendo los archivos con e *.png, ejecutando lo siguiente:

tar zxvf foo.tar.gz -C ~/ejemplos1/ --wildcards '*.png' Compresin y descompresin de archivos *.tar.bz2.
Genere un archivo .tar.bz2 (con compresin BZip2) ejecutando lo siguiente:

tar jcf foo.tar.bz2 pixmaps/


Para mostrar la lista del contenido del archivo foo.tar.bz2, ejecute:

tar jtvf foo.tar.bz2


Extraiga el contenido del archivo foo.tar.bz2 dentro del directorio ~/ejemplos1/, ejecutando lo siguiente:

tar jxvf foo.tar.bz2 -C ~/ejemplos1/

Extraiga el contenido del archivo foo.tar.bz2 dentro del directorio ~/ejemplos1/, pero slo extrayendo los archivos con *.png, ejecutando lo siguiente:

tar jxvf foo.tar.bz2 -C ~/ejemplos1/ --wildcards '*.png' Compresin y descompresin de archivos *.tar.xz.
Genere un archivo .tar.xz (con compresin XZ) ejecutando lo siguiente:

tar Jcf foo.tar.xz pixmaps/


Para mostrar la lista del contenido del archivo foo.tar.xz, ejecute:

tar Jtvf foo.tar.xz


Extraiga el contenido del archivo foo.tar.xz dentro del directorio ~/ejemplos1/, ejecutando lo siguiente:

tar Jxvf foo.tar.xz -C ~/ejemplos1/

Extraiga el contenido del archivo foo.tar.xz dentro del directorio ~/ejemplos1/, pero slo extrayendo los archivos con e *.png, ejecutando lo siguiente:

tar Jxvf foo.tar.xz -C ~/ejemplos1/ --wildcards '*.png' Crear respaldos del sistema de archivos.

Por lo general los respaldos se hacen sin compresin, a fin de que sean rpidos y consuman la menor cantidad de recu otras unidades de almacenamiento. Hay tres tipos de respaldos: Completos: Se consideran de nivel 0.

sistema posibles y slo se utiliza compresin cuando se tiene un espacio muy limitado en el sistema de archivo, unidad

Diferenciales: Se consideran de nivel 1. Consisten en respaldos que dependen de un respaldo completo parta

restaurar todos los datos, slo archivando los archivos nuevos o que cambiaron respecto del ltimo respaldo co

Es decir, para restaurar los datos se requiere el ltimo respaldo completo y el respaldo diferencial. Hoy en da s consumen mucho ms espacio en el sistema de archivos que los respaldos incrementales.

muy poco, salvo que el administrador del sistema sea poco experimentado o bien porque as es como lo prefier

Incrementales: Se consideran de nivel 1 cuando hay un solo respaldo completo antes de ste, de nivel 2 cuan

un respaldo completo y un respaldo incremental antes de ste, de nivel 3 cuando hay un respaldo completo y d

incrementales antes de ste y as sucesivamente. Son similares al respaldo diferencial, pero stos pueden hac

partir de un respaldo completo y/o un diferencial y/o otros incrementales, restaurando los datos en secuencia, p respaldo completo y uno o ms respaldos incrementales.

permiten ahorrar el espacio disponible en el sistema de archivos. Es decir, para restaurar los datos, se requiere

Un respaldo completo se puede realizar con el mandato tar, con las opciones cpf (crear archivo, preservar permisos, de

del archivo), el nombre del archivo *.tar a crear, la opcin -g (definir crear un archivo incremental en el nuevo formato d

nombre del archivo con extensin *.snar (que proviene de la contraccin de snapshot archive). ste ltimo es utilizado

mandato tar para almacenar la informacin respecto de qu fue lo que se respald. La opcin p es importante para cre almacenado y restaurado sera propiedad del usuario root. Cambie al usuario root. A partir de este paso slo podr realizar los procedimientos con privilegios de root.

los respaldos, pues permite preservar los permisos y atributos originales de los datos. Si se omite esta opcin, todo el c

su -l
Genere el directorio /var/respaldos ejecutando lo siguiente:

mkdir /var/respaldos

En el siguiente ejemplo se crear un respaldo completo del directorio /home, guardando los archivos de datos e increm de /var/respaldos.

tar cpf /var/respaldos/completo.tar \ -g /var/respaldos/registro.snar /home


Para crear un respaldo incremental, solo se define el nombre de un nuevo archivo, utilizando el mismo archivo *.snar.

tar cpf /var/respaldos/incremental-1.tar \ -g /var/respaldos/registro.snar /home


Para crear un segundo respaldo incremental, se ejecutara lo siguiente:

tar cpf /var/respaldos/incremental-2.tar \ -g /var/respaldos/registro.snar /home


Para crear un tercer respaldo incremental, se ejecutara lo siguiente:

tar cpf /var/respaldos/incremental-3.tar \ -g /var/respaldos/registro.snar /home


Para restaurar los datos, se ejecutara lo siguiente:

tar xpf /var/respaldos/completo.tar \ -g /var/respaldos/registro.snar -C / tar xpf /var/respaldos/incremental-1.tar \ -g /var/respaldos/registro.snar -C / tar xpf /var/respaldos/incremental-2.tar \ -g /var/respaldos/registro.snar -C / tar xpf /var/respaldos/incremental-3.tar \ -g /var/respaldos/registro.snar -C /

Los respaldos tambin se pueden hacer en mltiples volmenes cuando el espacio en las unidades de almacenamiento volmenes y la opcin -L, para indicar el tamao del volumen en bytes.

Se hacen de modo similar a los respaldos completos, pero aadiendo la opcin -M, para indicar que se realizar en m

En el siguiente ejemplo se crear un respaldo de /home en una unidad de almacenamiento externa, en cuatro partes de y que la unidad de almacenamiento externo est montada en el directorio /media/DISCO/:

(4194304 bytes) cada una, asumiendo que /home ocupa menos de 16 GiB (16777216 bytes) de espacio en el sistema

tar cpf /media/DISCO/parte01.tar \ -g /media/DISCO/registro.snar -M -L 4194304 /home tar cpf /media/DISCO/parte02.tar \ -g /media/DISCO/registro.snar -M -L 4194304 /home tar cpf /media/DISCO/parte03.tar \ -g /media/DISCO/registro.snar -M -L 4194304 /home tar cpf /media/DISCO/parte04.tar \ -g /media/DISCO/registro.snar -M -L 4194304 /home
que se trata de un respaldo de varios volmenes.

La restauracin de los datos se hace de modo similar a la de los respaldos incrementales, pero aadiendo la opcin -M

tar xpf /media/DISCO/parte01.tar \ -g /media/DISCO/registro.snar -M -C / tar xpf /media/DISCO/parte02.tar \ -g /media/DISCO/registro.snar -M -C / tar xpf /media/DISCO/parte03.tar \ -g /media/DISCO/registro.snar -M -C / tar xpf /media/DISCO/parte04.tar \ -g /media/DISCO/registro.snar -M -L -C /
Al terminar los procedimientos, cierre la sesin de root.

exit
Contine con el documento titulado Gestin de procesos y trabajos. ltima Edicin 24/10/2012, 16:27|2,604 Accesos

http://www.alcancelibre.org/staticpages/index.php/compresion-descompresion-archivos

En el ambiente de GNU/Linux, es muy comn usar archivos comprimidos, estos son algunos de los ms usados. Archivos .zip

Para descomprimir un archivo.zip en la carpeta actual 1 unzip archivo.zip

Para comprimir una carpeta a un archivo.zip 1 zip -r archivo.zip /alguna/carpeta

Para comprimir un archivo a un archivo.zip 1 zip archivo.zip algun_archivo Archivos .gz

Para descomprimir un archivo.gz en la carpeta actual 1 gzip -c archivo.gz > archivo

Para comprimir un archivo.zip 1 gzip -9 archivo

Para comprimir varios archivos a un archivo.zip 1 cat archivo1 archivo2 | gzip > archivo_final.gz Archivos .tgz

Para descomprimir un archivo.tgz en la carpeta actual 1 tar -xvzf archivo.tgz

Para comprimir un archivo.tgz, primero comprimir a archivo.gz 1 tar -czvf archivo.tgz archivo_a_comprimir.gz Archivo.tar.bz2

Para descomprimir un archivo.tar.bz2 en la carpeta actual 1 tar -jxvf archivo.tar.bz2

Para crear un archivo comprimido tar.bz2 en en la carpeta actual

1 tar -cvfj archivo.tar.bz2 archivo_a_comprimir

Ejemplos:

Comprimir una base de datos: 1 tar -cvfj archivo.tar.bz2 archivo.sql

Comprimir todo la carpeta home de alg?n usuario: 1 tar -cvfj archivo.tar.bz2 /home/usuario Archivos .tar.gz

Para descomprimir un archivo.tar.gz en la carpeta actual 1 tar -zxf archivo.tar.gz

Para crear un archivo comprimido tar.gz en en la carpeta actual 1 tar -cvzf archivo.tar.gz archivo_a_comprimir

Ejemplos:

Comprimir una base de datos: 1 tar -cvzf archivo.tar.gz archivo.sql

Comprimir todo la carpeta home de alg?n usuario: 1 tar -cvzf archivo.tar.gz /home/usuario http://www.buenastareas.com/ensayos/Compresi%C3%B3n-Descompresi%C3%B3n-De-ArchivosEn/2565002.html