viernes, 26 de mayo de 2017

18. Archivos zip en Linux

La utilidad de archivo de facto en el mundo de Microsoft es el archivo ZIP. No es tan frecuente en Linux, pero está bien soportado por los comandos zip y unzip. Con tar y gzip / gunzip se pueden usar los mismos comandos y opciones para hacer la creación y la extracción, pero esto no es el caso con zip. La misma opción tiene diferentes significados para los dos comandos diferentes.

El modo predeterminado de zip es agregar archivos a un archivo comprimido y comprimirlo.

bob:tmp $ zip logs.zip logs/*
  adding: logs/access_log (deflated 93%)
  adding: logs/access_log.1 (deflated 62%)
  adding: logs/access_log.2 (deflated 88%)
  adding: logs/access_log.3 (deflated 73%)
  adding: logs/access_log.4 (deflated 72%)
El primer argumento en el ejemplo anterior es el nombre del archivo para ser operado, en este caso es logs.zip. Después de eso, es una lista de archivos que se añadirán. La salida muestra los archivos y la relación de compresión. 
Debe tenerse en cuenta que tar requiere la opción -f para indicar que se está pasando un nombre de archivo, mientras que zip y unzip requieren un nombre de archivo y por lo tanto no es necesario que diga explícitamente que se está pasando un nombre de archivo.

El listado de archivos en el zip se realiza mediante el comando unzip y la opción -l (lista):

bob:tmp $ unzip -l logs.zip
Archive:  logs.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  10-14-2013 14:07   logs/
     1136  10-14-2013 14:07   logs/access_log.3
      362  10-14-2013 14:07   logs/access_log.1
      784  10-14-2013 14:07   logs/access_log.4
    90703  10-14-2013 14:07   logs/access_log
   153813  10-14-2013 14:07   logs/access_log.2
---------                     -------
   246798                     6 files
Extraer los archivos es como crear el archivo, ya que la operación predeterminada es extraer:

bob:tmp $ unzip logs.zip
Archive:  logs.zip
   creating: logs/
  inflating: logs/access_log.3
  inflating: logs/access_log.1
  inflating: logs/access_log.4
  inflating: logs/access_log
  inflating: logs/access_log.2

Las páginas de zip y unzip man describen las otras cosas que puedes hacer con estas herramientas, como reemplazar archivos dentro del archivo, usar diferentes niveles de compresión e incluso usar cifrado.


No hay comentarios.:

Publicar un comentario