RSS

Manejando Archivos [Parte II]

30 Jul

Tux-Zip

Como lo prometido es deuda, les traemos la segunda parte de ”Manejando Archivos”. En la cual culminaremos con la compresión y descompresión de archivos. Esto como ya es de costumbre lo haremos desde la consola. Seguramente al finalizar termines preguntándote ¿No es más fácil un click con el botón izquierdo del mouse? o ¿Una aplicación con una bonita interfaz gráfica, no es más rápido? Pues te responderé antes de que llegues a preguntar, Sí, en ambas preguntas. Ahora te pregunto, ¿Crees que alguno de esos métodos te pueda sacar de apuros? Por experiencia propia me atrevo afirmar que la única que estará cuando todos falten sera la consola.

Según la La Real Academia de la Lengua Española, comprimir es el acto de reducir a menor volumen. En nuestro caso con la salvedad de no perder datos. El proceso de comprimir es llevado a cabo gracias a diferentes algoritmos. Un ejemplo de ello es el algoritmos de RLE, que logra reducir los byte de un archivo creando una especie de leyenda con la cantidad de info que se repite. Un ejemplo sencillo seria:

Descomprimido –> GGGGGGGNNNNNNNNNNUUUUUU/////Liiiiiiinnnnnnnnuuuuuuxxxxxxxxxx                                                                                     Comprimido –> 7G10N6U5/1L7i8n6u10x

Si comparamos hemos tenido una reducción notable, sin embargo no hemos perdido un solo dato. Logrando obtener el archivo por completo luego de su descompresión. Este algoritmo es algo más complejo, y existen otros más.

Bueno sin más preámbulos entremos de lleno a lo que nos corresponde. Compresión y descompresión de archivos y directorios. Para esto usaremos varia herramientas, todas ellas seguras y en la mayoría de los casos, ya instaladas por defecto en nuestra distro de GNU/Linux favorita. Aprovechando para exhortarles a probar Linux Mint, una excelente distro.

Los programas utilizaremos disponen de un completo manual via consola. Para acceder a ellos tecleamos man 7z, sustituyendo 7z por el programa deseado. Estos programas son:

  • 7z
  • TAR
  • GZ
  • ZIP

Para comenzar y como medio de seguridad creemos un documento y una carpeta para trabajar sobre ellos. En caso de no saber realizar esta tarea vía consola te recomendamos leas aquí. Por mi parte crearé una carpeta y documento con el nombre de Manejando_Archivos_II en /home/nombredeusuario/Desktop. Una vez aquí comienza el entretenimiento.

7zip

Este programa utiliza el algoritmo LZMA. Soportando formatos como, ZIP, CAB, ARJ, GZIP, BZIP2, TAR, CPIO, RPM y DEB. 7zip tiene un gran rango de compresión. En comparación con ZIP, 7zip comprime un 30%-50% mejor.

El formato para comprimir es, [Comando] [Opción] [Switch] (Formato) [Nombre_archivo_comprimido] [Archivo(s)_a_comprimir] Si no se especifica el archivo a comprimir, se comprime el directorio donde nos encontramos. OJO, no significa que sea adecuado para realizar backups.

* La contraseña inicia seguida del switch -p.
** Los archivos sfx, se extraen sin necesidad de un programa externo.
*** Seguido del switch -v definimos el tamaño en bytes.
**** El formato inicia justamente seguido del switch -t.

Ejemplos:

  • 7z a -pmicontrasena comprimido.7z archivo.odt –Comprimiendo con contraseña.
  • 7z a -ttar comprimido directorio –Comprimiendo a formato soportado.
  • 7z x -pmicontrasena comprimido.7z –Descomprimiendo con contraseña.

TAR

Este programa es un archivador, toma directorios/archivos los organiza en un solo documento con extensión tar. Por esta razón no logra disminuir el peso de los archivos. No obstante posee las opciones necesarias para combinarlo con compresores como gzip para disminuir su tamaño. Este es el programa ideal para realizar un Backup de tu sistema operativo.

Su uso generalmente es  [Comando] [Opción] [Nombre_archivo_comprimido] [Archivo(s)_a_comprimir],  Ahora bien en ocasiones necesitamos comprimir un archivo de gran peso, pero en varias partes. Para esta labor utilizamos la opción -M, que tiene un formato un tanto diferente. Veamos los ejemplos.

Ejemplos:

  • tar cvf archivo.tar documento.odt imagen.png –Aquí creamos el tar contenedor de dos elementos. Ojo, sin compresión.
  • tar cavf archivo.tar.gz /home/usuario/Música/* –Aquí creamos el tar, a su vez lo comprimimos con la opción -a, añadiendo el sufijo .gz luego del tar, en el nombre dado al archivo de salida.
  • tar xvf archivo.tar –Ojo es el mismo proceso estando o no comprimido el tar.
*Ahora concentrémonos en crear múltiples volúmenes de un archivo pesado. El proceso es un poco pesado pero sencillo. Iniciamos con tar -c -M –tape-length=20480 –file=part1.tar Música. Analizemos argumento por argumento,  tar, este es el comando | -c, lo utilizamos para crear un archivo | -M, indica que deseamos múltiples volúmenes | –tape-length=20480, indica el tamaño de cada volumen, el entero es representado en kb | -file=part1.tar, es para decirle al programa el nombre del primer volumen | Música, es el directorio o archivo que deseo archivar.
Ese fue el primer paso, ahora continuemos con el segundo. Si nos va bien veremos algo parecido a Prepare volume #2 for `part1.tar’ and hit return:, que nos indica que preparemos el siguiente volumen. Ahora utilizaremos -n, indicando que lo continuo es el nombre de la parte dos y procedemos a escribirlo quedando asi, -n part2.tar y presionamos enter. Este proceso lo repetiremos hasta que la consola deje de pedir que preparemos el siguiente volumen. Listo has terminado!

Si te preguntas como descomprimirlo, pues basta con descomprimir de forma tradicional el primer volumen y el resto continuara sucesivamente.

GZIP

Gzip es la versión GNU de Compress(Unix). Gzip hizo su aparición el 31 de octubre del 1992. Este formato de compresión solo se centra en comprimir, Esto siguiendo la filosofia, “Haz una sola cosa pero hazla bien”. Por ende, no archiva antes de comprimir, para esta labor podemos utilizar tar. Sin embargo, si solo deseas comprimir un archivo único y no una carpeta lo puedes utilizar, sin inconvenientes.
Ejemplos:
  • gzip -q archivo –Aqui comprimimos el archivo.
  • gzip -d archivo.gz –Aqui descomprimios el mismo.

ZIP

Utiliza por lo general el algoritmo de Phil Katz. Zip comprime cada archivo de forma individual para luego crear el archivo general. Debido a este método no logran una compresión tan efectiva como 7z. El cifrado de este formato es débil ante varios tipos de ataques. Su formato es como sigue:

  • [zip] [opcion] [nombre_archivo_a_comprimir] –Comprime
  • [unzip] [opcion] [nombre_archivo_a_descomprimir] –Descomprime

* Seguido de la opción -p se escribe la contraseña.
** La opción -s va acompañada de un entero y si es k,m,g,t. 64k(kb), es el valor mínimo aceptado.

Ejemplos:
  • zip archivo.zip disco_musica
  • unzip archivo.zip
Sencillo verdad, la consola no muerde. Hazla tu amiga!
Anuncios
 
Deja un comentario

Publicado por en julio 30, 2012 en Usemos La Consola

 

Etiquetas: , , , , , , , , , ,

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
A %d blogueros les gusta esto: