ZIP es el formato de archivo más utilizado que soporta la compresión de datos sin pérdidas.
Un archivo ZIP es un contenedor de datos que contiene uno o más archivos o directorios comprimidos. Los archivos comprimidos (zip) ocupan menos espacio en disco y pueden transferirse de un equipo a otro más rápidamente que los archivos sin comprimir. Los archivos ZIP se pueden extraer fácilmente en Windows, macOS y GNU/Linux utilizando las utilidades disponibles para todos los sistemas operativos.
En este tutorial, te mostraremos cómo comprimir archivos y directorios en sistemas GNU/Linux a través de la línea de comandos usando la utilidad zip. No es que no existan aplicaciones con interfaz gráfica para hacerlo, hay bastantes, pero hacerlo vía terminal es muy gratificante también.
El comando Zip
Zip es una utilidad que nos ayuda a crear archivos ZIP, es decir, comprimidos.
El comando zip toma la siguiente forma sintáctica:
zip NOMBRE_DE_ARCHIVO ARCHIVO
Esto significa que tras el comando zip hay que incluir el nombre del archivo y después los archivos que irán al paquete recién creado.
Para crear un archivo ZIP en un directorio específico, el usuario necesita tener permisos de escritura en ese directorio. Los archivos ZIP no soportan información de propiedad al estilo GNU/Linux, y todos los archivos extraídos serán propiedad del usuario que ejecuta el comando. La utilidad zip no está instalada por defecto en la mayoría de las distribuciones, pero puede instalarla fácilmente utilizando el gestor de paquetes de tu distribución.
Cómo comprimir archivos y directorios
Para comprimir uno o más archivos, especifica los archivos que quieres agregar al archivo comprimido separados por espacio, como se muestra a continuación:
zip nombredearchivo.zip archivo1 archivo2
De forma predeterminada, el comando zip imprime los nombres de todos los archivos que se agregan al archivo comprimido y al método de compresión.
Al especificar el nombre del archivo comprimido zip, si omites la extensión .zip, se agregará automáticamente a menos que el nombre del archivo comprimido contenga un punto.
Si quieres suprimir la salida del comando zip utiliza la opción -q:
zip -q nombrearchivo.zip archivo1 archivo2
La mayoría de las veces, creará un archivo ZIP de un directorio que incluye el contenido de los subdirectorios. Las opciones -r permiten recorrer toda la estructura de directorios recursivamente. Para crear un archivo zip de un directorio se utilizaría:
zip -r nombrearchivo.zip nombredeldirectorio
También puedes agregar varios archivos y directorios en el mismo archivo comprimido:
zip -r nombrearchivo.zip nombredirectorio1 nombredirectorio2 archivo1 archivo2
Métodos y niveles de compresión
El método de compresión por defecto es deflate. Si la utilidad zip determina que un archivo no se puede comprimir, simplemente lo almacena en el archivo sin comprimirlo usando el método de almacenamiento. En la mayoría de las distribuciones GNU/Linux, la utilidad zip también soporta el método de compresión bzip2, para especificar un método de compresión utiliza la opción -Z.
zip -r -Z bzip2 nombrearchivo.zip nombredirectorio
El comando zip nos permite especificar un nivel de compresión utilizando un número prefijado con un guión de 0 a 9. El nivel de compresión predeterminado es -6. Cuando se utiliza -0, todos los archivos se almacenan sin compresión. -9 forzará al comando zip a usar una compresión óptima para todos los archivos Por ejemplo, para usar el nivel de compresión -9, deberías escribir algo como esto:
zip -9 -r nombrearchivo.zip nombredirectorio
Cuanto más alto sea el nivel de compresión, más intensivo será el proceso de compresión y tardará más tiempo en completarse.
Creación de un archivo ZIP protegido con contraseña
Si tienes información confidencial que necesita ser almacenada en el archivo, puedes encriptarla usando la opción -e:
zip -e nombrearchivo.zip nombredirectorio
Se te pedirá que introduzcas y verifiques la contraseña del archivo comprimido:
Enter password:
Verify password:
Creación de un archivo Zip dividido
Imagina que quieres almacenar el archivo zip en un servicio de alojamiento de archivos que tiene un límite de carga de archivos de 1 GB y un archivo de tamaño de 5 GB. Puedes crear un nuevo archivo Zip dividido utilizando la opción -s seguida de un tamaño especificado. El multiplicador puede ser k (kilobytes), m (megabytes), g (gigabytes) o t (terabytes).
zip -s 1g -r nombrearchivo.zip nombredirectorio
El comando anterior seguirá creando nuevos archivos comprimidos en un conjunto después de alcanzar el límite de tamaño especificado.
nombrearchivo.zip
nombrearchivo.z01
nombrearchivo.z02
nombrearchivo.z03
nombrearchivo.z04
En este tutorial aprendiste a crear archivos ZIP utilizando el comando zip. También te hemos mostrado las opciones más comunes del comando zip, si quieres saber más sobre Unzip visita este enlace.
Fuente: maslinux