viernes, 26 de abril de 2024

Comprime ficheros con GNU-zip

Posted by q3it on viernes, abril 26, 2024 in


En publicaciones anteriores había explicado el uso del comando de empaquetado tar que lo que hacía gestionar eficientemente ficheros y directorios, pero con estos empaquetados el tamaño es grande por qué tenemos la lista de ficheros y directorios, y lo único que hacemos es meterlo en un paquete y el tamaño no lo reducimos.
 
Para solventar esto tenemos el comando de compresión gzip, que es ideal para comprimir ficheros. Su sintaxis es muy simple gzip fichero y lo que hará es comprimir este fichero renombrándolo como fichero.gz.  Una vez que tenemos un fichero .gz podemos utilizar gzip con distintas opciones para trabajar con el, por ejemplo:
  • -l para extraer el contenido.
  • -t comprobar la integridad.
  • -d para descomprimir.
En el post del comando de tar teníamos un fichero etc.tar. Le aplicamos el comando du para saber su tamaño exacto y éste es el resultado.
 
 
Vemos que el tamaño aproximado coincide con el directorio. Ahora si queremos comprimirlo simplemente ponemos gzip etc.tar, y si hacemos un ls veremos que ha desaparecido el fichero .tar. Ejecutamos un du sobre el .gz para saber cuanto se ha reducido en tamaño.
 
 
Hemos pasado de 4.6MB a 816K. 
 
 
Nosotros podemos listar el contenido de este fichero y nos va a decir cuánto ocupa comprimido, cuánto ocupa descomprimido y cuál ha sido el tanto por ciento de compresión, en este caso es del 82.6%. Si queremos comprobar la integridad podemos utilizar -t y nos dirá si hay algún error, y si quisiéramos descomprimirlo podemos utilizar la opción -d.
 
También tenemos el comando unzip que lo que hará es descomprimir el fichero del mismo modo que utilizar gzip con la opción -d.
 
 
En este caso podemos utilizar unzip etc.tar.gz y veremos que nos vuelve a crear el fichero etc.tar, elimina etc.tar.gz y el tamaño es igual que el de antes 4.6MB.
 
Algo muy importante es que nosotros podemos llamar a gzip con el comando tar del siguiente modo... tar czf etc.tar.gz /etc. Donde c crea el fichero, z llama a gzip y f nombra el fichero.


Si observamos la imagen anterior se ve que el fichero etc.tar.gz reduce mucho el peso del directorio y, que la diferencia con los dos anteriores de nota.