David Bohm

Hay dos frases que definen mi manera de pensar:
Realmente no hemos prestado mucha atención al pensamiento como un proceso; hemos participado en pensamientos, pero sólo hemos prestado atención al contenido, no al proceso.
La capacidad de percibir o pensar de manera diferente es más importante que el conocimiento adquirido.
Ambas son de David Bohm.

domingo, 3 de junio de 2018

Ficheros comprimidos en LInux

Vamos a ver el grueso de los formatos utilizados para comprimir y descomprimir archivos y/o directorios. Además puntualizaremos algún detalle sobre los comandos que podemos lanzar para realizar ciertas tareas.

GZIP

gzip comprime fichero a fichero, no empaqueta varios ficheros en uno ni comprime
directorios. Luego comentamos una solución muy utilizada. Los ficheros tienen la extensión .gz

Como comprimir:

            # gzip fichero

Como descomprimir:

            # gzip ­d fichero.gz

Para comprimir varios ficheros y archivarlos en uno solo como podríamos hacer con los compresores zip o rar hay que combinar tar con gzip. El resultado sería ficheros que tienen la extensión .tar.gz Veamos un ejemplo:

Como comprimir:

            # tar ­czf archivo.tar.gz ficheros

Como descomprimir:

            # tar ­xvzf archivo.tar.gz

Como ver el contenido:

            # tar ­tzf archivo.tar.gz

BZIP2

bzip2 sólo comprime fichero a fichero, no comprime varios ficheros en uno ni comprime
directorios. Luego comentamos una solución muy utilizada. Los ficheros tienen la extensión .bz2

Como comprimir

            # bzip2 fichero

Como descomprimir

            # bzip2 ­d fichero.bz2

Para comprimir varios ficheros y archivarlos en uno solo como podríamos hacer con los compresores zip o rar hay que combinar tar con bzip2. El resultado sería ficheros que tienen la extensión .tar.bz2
Veamos un ejemplo:

Como comprimir:

            # tar ­c ficheros | bzip2 > archivo.tar.bz2

Como descomprimir:

            # bzip2 ­dc archivo.tar.bz2 | tar ­xv

Como ver contenido:

            # bzip2 ­dc archivo.tar.bz2 | tar ­t

ZIP

zip si que realiza compresión y descompresión de directorios y/o ficheros. En este caso vamos a realizar un apunte importante, ya que vamos a necesitar instalar dos herramientas diferentes, una para comprimir (zip) y la otra para descomprimir (unzip). Los ficheros tienen la extensión .zip

Como comprimir:

            # zip archivo.zip ficheros

Un ejemplo es que queremos comprimir todo lo que está en la ruta en el directorio en el que nos encontramos. Por ello podríamos hacer:

            # zip  fichero *

Aprovechamos para puntualizar que no es necesario especificar la extensión que va a tener el archivo zip, se añade automáticamente. Esto parece que no pero agiliza el tecleado de los comandos. Aburre repetir tanto "zip". De todas formas para diferenciar el archivo zip de otros archivos o modificadores seguiré marcando la extensión.

Para que la compresión se hiciese no solo del directorio en el que estamos sino también de todos los directorios que tenga:

            # zip -r fichero.zip *

Como descomprimir:

            # unzip archivo.zip

Aprovechamos para añadir algún otro modificador que es interesante. Reconozco que el formato que mas utilizo es .zip, ya que me permite jugar entre entornos windows y linux de una forma muy cómoda. Será la costumbre.

Por ejemplo si queremos hacer un test y obtener un resumen:

            # unzip -tq archivo.zip

En caso de que deseemos extraer un fichero que está dentro del archivo zip podemos ejecutar:

            # unzip archivo.zip documento.doc

Algo que se hace comunmente es descomprimir pero a una ruta concreta como /tmp, para luego borrarlo por ejemplo:

            # unzip archivo.zip -d /tmp

Como ver contenido:

            # unzip ­v archivo.zip
            # unzip -l archivo.zip

Si queremos borrar un fichero que esté dentro del archivo zip podemos ejecutar:

            # zip archivo.zip -d ficheroaborrar.doc

Existen un montón de opciones mas y variantes. Pero lo dejamos aquí y seguiremos con otros formatos de compresión. Recuerda que puedes lanzar la ayuda:

            # zip --help
            # man zip

            # unzip --help
            # man unzip

RAR

rar también realiza compresión y descompresión de directorios y/o ficheros. En este caso también vamos a utilizar dos herramientas, una para comprimir (rar) y otra para descomprimir (unrar), aunque veremos que se solapan, es algo bastante curioso. Los ficheros tienen la extensión .rar

Como comprimir:

            # rar a archivo.rar ficheros

Para borrar archivos en un archivo rar:

            # rar d archivo.rar ficheroaborrar.doc

Para recuperar archivos:

            # rar r archivo.rar

Como actualiar un fichero existente dentro del archivo comprimido:

            # rar u archivo.rar ejemplo.txt

Listar el contenido, para verificar por ejemplo el cambio realizado anteriormente:

            # rar l archivo.rar
            # rar v archivo.rar

Establecer contraseña en fichero rar. Tras lanzar el comando no solicitará dos veces la contraseña:

            # rar a -p archivo.rar

Al intentar descomprimir, nos solicitará la contraseña:

            # rar x archivo.rar

Podemos bloquear un archivo para que no se pueda extraer:

            # rar k archivo.rar

Como descomprimir:

            # unrar e archivo.rar

Para descomprimir en una ruta concreta:

            # unrar e archivo.rar /tmp

Para descomprimir en la estructura original:

            # unrar x archivo.rar

Si lo que queremos es listar previamente el contenido:

            # unrar l archivo.rar

Para realizar un test del fichero:

            # unrar t archivo.rar

Como siempre, podemos utilizar la ayuda de las herramientas para ver la cantidad de opciones que poseen. En este caso no podemos hacer un rar --help o unrar -help

           # man rar
           # man unrar

OTROS FORMATOS DE COMPRESIÓN

Ficheros .lha

   Para comprimir:

            # lha a archivo.lha ficheros

   Para descomprimir:

            # lha x archivo.lha

   Para ver el contenido:

            # lha v archivo.lha
            # lha l archivo.lha

Ficheros .arj

   Para comprimir:

            # arj a archivo.arj ficheros

   Para descomprimir:

            # unarj archivo.arj
            # arj x archivo.arj

   Para ver el contenido:

            # arj v archivo.arj
            # arj l archivo.arj

Ficheros .zoo

   Para comprimir:

            # zoo a archivo.zoo ficheros

   Para descomprimir:

            # zoo x archivo.zoo

   Para ver el contenido:

            # zoo L archivo.zoo
            # zoo v archivo.zoo

No tengo referencia de los links de los que he ido extrayendo o consultando esta información, la verdad es que de vez en cuando buscaba en una u otra web y me decidí a resumir todo en un único sitio para consultarlo rápidamente en caso de necesidad.

Todos estos comandos son muy útiles para realizar volcados de un servidor a otro, a una memoria USB o para realizar copias de seguridad por ejemplo. Intentaré en alguna otra entrada poner ejemplos de scripts con los que automatizo ciertas tareas de administración.

SaluDOS

No hay comentarios:

Publicar un comentario