Introducción
Zip es el formato de archivo de archivo 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 (zip) ocupan menos espacio en el disco y se pueden transferir de una máquina a otra más rápido 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 archivos y directorios en Linux usando el comando zip
Comando zip
zip
es una utilidad de línea de comandos que le ayuda a crear archivos Zip.
El comando zip tiene la siguiente forma de sintaxis:
zip OPTIONS ARCHIVE_NAME FILES
Para crear un archivo Zip en un directorio específico, el usuario debe tener permisos de escritura para ese directorio.
Los archivos zip no admiten información de propiedades de estilo Linux. Los archivos extraídos son propiedad del usuario que ejecuta el comando.
Para conservar la propiedad y los permisos del archivo, use el comando tar
La zip
no está instalada 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.
Instalar Zip en Ubuntu y Debian
sudo apt install zip
Instalar Zip en CentOS y Fedora
sudo yum install zip
Cómo comprimir (ZIP) archivos y directorios
Para comprimir uno o más archivos, especifique los archivos que desea agregar al archivo separados 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 zip
imprime los nombres de los archivos agregados al archivo y el método de compresión. Explicaremos los métodos de compresión y el nivel más adelante en esta guía.
Cuando especifique el nombre del archivo Zip si omite la .zip
, se agregará automáticamente a menos que el nombre del archivo contenga un punto .
.
Para ocultar la salida del comando zip
, use la opción -q
zip -q archivename.zip filename1 filename2 filename3
A menudo, creará un archivo Zip de un directorio que incluye el contenido de los subdirectorios. La -r
permite recorrer de forma recursiva toda la estructura del directorio.
Para crear un archivo Zip de un directorio, deberá usar:
zip -r archivename.zip directory_name
También puede agregar varios archivos y directorios al mismo archivo:
zip -r archivename.zip directory_name1 directory_name2 file1 file1
Niveles y métodos de compresión
El método de compresión predeterminado de Zip es desinflar. Si la utilidad zip determina que un archivo no se puede comprimir, simplemente almacena el archivo en el archivo sin comprimirlo mediante 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 zip
permite especificar un nivel de compresión usando el número prefijado con un guión entre 0 y 9. El nivel de compresión predeterminado es -6
. Mientras usa -0
, todos los archivos se archivarán sin compresión. -9
forzará al zip
a utilizar una compresión óptima para todos los archivos.
Por ejemplo, para usar el nivel de compresión -9
, escriba algo como esto:
zip -9 -r archivename.zip directory_name
Cuanto mayor sea el nivel de compresión, más intenso será el proceso de compresión de la CPU y tardará más en completarse.
Cree un archivo ZIP protegido con contraseña
Si tiene información confidencial que debe almacenarse en el repositorio, puede cifrarla con 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:
Crear un archivo zip dividido
Imagine que desea archivar el archivo Zip en un servicio de alojamiento de archivos que tiene un límite de carga de archivo de 1 GB y el archivo Zip es de 5 GB.
Puede crear un nuevo archivo Zip dividido utilizando la -s
seguida del tamaño especificado. El multiplicador puede ser k (kilobyte), m (megabyte), g (gigabyte) ot (terabyte).
zip -s 1g -r archivename.zip directory_name
El comando anterior continuará creando nuevos archivos en un conjunto después de alcanzar 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 *
Como arriba, incluidos archivos ocultos (archivos que comienzan con un punto):
zip archivename.* *
Cree un archivo Zip llamado archivename.zip
contenga todos los archivos MP3 en el directorio actual sin comprimir los archivos.
zip -0 archivename *.mp3
Conclusión
En Linux es posible crear archivos Zip con el comando zip
Para extraer un archivo ZIP en un sistema Linux, puede usar el comando unzip.