ZIP es el formato de archivo comprimido más utilizado que admite la compresión de datos sin pérdida.
Un archivo ZIP es un contenedor de datos que contiene uno o más archivos o directorios comprimidos. Los archivos comprimidos (en zip) ocupan menos espacio en el disco; se pueden transferir de una máquina a otra más rápidamente que los archivos sin comprimir. Los archivos ZIP se pueden extraer fácilmente en Windows, macOS y Linux utilizando las utilidades disponibles para todos los sistemas operativos.
En este tutorial, le mostraremos cómo comprimir (comprimir) archivos y directorios en sistemas Linux a través de la línea de comandos usando la utilidad zip.
Comando Zip
Zip es una utilidad que te ayuda a crear archivos ZIP.
El comando zip toma la siguiente forma de sintaxis:
zip OPTIONS ARCHIVE_NAME FILES
Para crear un archivo ZIP en un directorio específico, el usuario necesita tener permisos de escritura en ese directorio. Los archivos ZIP no son compatibles con la información de propiedad de estilo Linux, y todos los archivos extraídos serán propiedad del usuario que ejecuta el comando. Si desea conservar la propiedad y los permisos del archivo, use el comando tar .
La utilidad zip no se instala de forma predeterminada en la mayoría de las distribuciones de Linux, pero puede instalarla fácilmente utilizando el administrador de paquetes de su distribución.
Instala Zip en Ubuntu y Debian
sudo apt install zip
Instala Zip en CentOS y Fedora
sudo yum install zip
Cómo ZIP archivos y directorios
Para comprimir uno o más archivos, especifique los archivos que desea agregar al archivo separado por espacio como se muestra a continuación:
zip archivename.zip filename1 filename2 filename3
adding: filename1 (deflated 63%)
adding: filename2 (stored 0%)
adding: filename3 (deflated 38%)
De forma predeterminada, el comando zip imprime los nombres de todos los archivos que se agregan al archivo y al método de compresión. Explicaremos los métodos de compresión y el nivel más adelante en esta guía.
Al especificar el nombre del archivo comprimido zip si se le solicita la extensión .zip
, se agregará automáticamente a menos que el nombre del archivo contenga un punto. zip archivename.zip filename
creará un archivo con el mismo nombre que lo haría zip archivename filename
.
Si desea suprimir la salida del comando zip, use la opción: -q
zip -q archivename.zip filename1 filename2 filename3
La mayoría de las veces, creará un archivo ZIP de un directorio que incluye el contenido de los subdirectorios. Las opciones -r
le permiten recorrer toda la estructura de directorios de forma recursiva. Para crear un archivo zip de un directorio usted usaría:
zip -r archivename.zip directory_name
También puede agregar varios archivos y directorios en el mismo archivo:
zip -r archivename.zip directory_name1 directory_name2 file1 file1
Métodos y niveles de compresión
El método de compresión por defecto del zip está desinflado . Si la utilidad zip determina que un archivo no se puede comprimir, simplemente almacena el archivo en el archivo sin comprimirlo usando el método de almacenamiento . En la mayoría de las distribuciones de Linux, la utilidad zip también admite el método de compresión bzip2 .
Para especificar un método de compresión use la opción. -Z
zip -r -Z bzip2 archivename.zip directory_name
...
adding: sub_dir/ (stored 0%)
adding: sub_dir/file1 (bzipped 52%)
adding: sub_dir/file2 (bzipped 79%)
El comando zip le permite especificar un nivel de compresión utilizando un número con un guión de 0 a 9. El nivel de compresión predeterminado es -6
. Al usar -0
todos los archivos se almacenarán 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
, escribirías algo como esto:
zip -9 -r archivename.zip directory_name
Cuanto más alto sea el nivel de compresión, más intensivo de CPU será el proceso zip y llevará más tiempo completarlo.
Creando un archivo ZIP protegido por contraseña
Si tiene información confidencial que necesita ser almacenada en el archivo, puede cifrarla usando la opción: -e
zip -e archivename.zip directory_name
Se le pedirá que ingrese y verifique la contraseña del archivo:
Enter password:
Verify password:
Creando un archivo zip dividido
Imagine que desea almacenar el archivo zip en un servicio de alojamiento de archivos que tiene un límite de carga de 1 GB y su archivo ZIP es de 5 GB.
Puede crear un nuevo archivo Zip dividido usando la opción -s
seguida del tamaño especificado. El multiplicador puede ser k (kilobytes), m (megabytes), g (gigabytes) o t (terabytes).
zip -s 1g -r archivename.zip directory_name
El comando anterior seguirá creando nuevos archivos en un conjunto después de que alcance el límite de tamaño especificado.
archivename.zip
archivename.z01
archivename.z02
archivename.z03
archivename.z04
Ejemplos ZIP
Cree un archivo ZIP llamado archivename.zip que contenga todos los archivos en el directorio actual.
zip archivename *
Igual que el anterior, incluidos los archivos ocultos (archivos que comienzan con un punto):
zip archivename .* *
Cree un archivo ZIP llamado archivename.zip que contenga todos los archivos MP3 en el directorio actual sin intentar comprimir los archivos.
zip -0 archivename *.mp3
En este tutorial, aprendió a crear archivos ZIP con el comando zip. También le hemos mostrado las opciones más comunes del comando zip. Para extraer un archivo ZIP en un sistema Linux, puede usar el comando unzip .