Zip es un comando multiplataforma popular que se utiliza para comprimir y archivar datos. La compresión ahorra espacio al reducir el tamaño de los datos, mientras que el archivo facilita la transferencia de datos al combinar varios archivos o directorios en un solo archivo. Considere, si tenemos que transferir 5 archivos a través de Internet, cada uno con un tamaño de 50 megabytes; transferir todos los archivos uno por uno puede llevar mucho tiempo. Comprimir los archivos para reducir el tamaño hasta 25 MB y luego archivarlos todos en un solo archivo hará que sea mucho más rápido transferir los archivos que cuando están descomprimidos. Zip es la utilidad más utilizada para archivar y comprimir archivos, mientras que descomprimir se usa para extraer y descomprimir los archivos comprimidos.
En este artículo, veremos los comandos zip y unzip en Linux, junto con sus opciones de línea de comandos y ejemplos.
Prerrequisitos
- Sistema Ubuntu o Debian
- Utilidades para comprimir y descomprimir instaladas
Nota: Los comandos mencionados en este artículo se han probado en Ubuntu 20.04 LTS (Fosa focal). Los mismos comandos también son aplicables a la distribución Debian.
Instalación de Zip y Unzip
De forma predeterminada, los paquetes zip y unzip se instalan en los sistemas Ubuntu. En caso de que falten en su sistema, puede instalarlos fácilmente. Inicie la Terminal usando el teclado Ctrl + Alt + T. Luego, para instalar zip, emita lo siguiente en la Terminal:
$ sudo apt install zipPara instalar descomprimir, ejecute el siguiente comando en la Terminal:
$ sudo apt install descomprimirHay algunos escenarios en los que es posible que deba comprimir archivos:
- Para ahorrar espacio de almacenamiento, ya que comprimir comprime el tamaño del archivo
- Transferencia de archivos grandes por correo electrónico
- Cargar o descargar archivos a una velocidad más rápida
- Para ahorrar ancho de banda
Comando ZIP en Linux
Para crear un archivo zip, deberá proporcionar el nombre del archivo comprimido y los archivos que deben incluirse en el zip.
$ zip opciones zip_file archivo1 archivo2…Zip de un solo archivo
Para comprimir un solo archivo llamado archivo de prueba.TXT; a un archivo zip llamado prueba.Código Postal, el comando sería:
$ prueba zip.archivo de prueba zip.TXT
El comando anterior comprimirá el archivo especificado en el directorio actual mientras deja el archivo original atrás.
Para confirmar si se ha creado el archivo zip, emita el comando en la Terminal a continuación:
$ ls -l
Comprimir varios archivos
También puede comprimir varios archivos con el comando zip. Creemos algunos archivos con el nombre testfile1.TXT, testfile2.TXT, testfile3.TXT, y testfile4.TXT usando el siguiente comando en la Terminal:
$ sudo touch testfile1.txt testfile2.txt testfile3.txt testfile4.TXTAhora para comprimir estos archivos en un solo archivo, llamado archivos.Código Postal, emita el siguiente comando en la Terminal:
$ archivos zip.zip testfile1.txt testfile2.txt testfile3.txt testfile4.TXT
También puede utilizar el comodín para especificar varios archivos con la misma extensión. Por ejemplo, para comprimir todos los archivos que terminan en .txt en un archivo zip, llamado files1.zip, emita el siguiente comando en la Terminal:
$ archivos zip1.Código Postal *.TXT
Comprima un archivo en un directorio diferente
Si necesita comprimir un archivo en algún directorio que no sea el directorio actual, use la siguiente sintaxis:
$ zip / ruta / al / directorio.zip_file nombre de archivoPor ejemplo, para comprimir archivo de prueba.TXT archivo a Documents / docs / directorio llamado como prueba.Código Postal, el comando sería:
$ zip Documents / docs / test.archivo de prueba zip.TXT
Agregar archivo a un zip existente
También puede agregar un archivo a un archivo zip preexistente. Utilice la siguiente sintaxis para hacerlo:
$ zip -u zip_file nombre de archivoDigamos que tiene un archivo zip (archivos1.Código Postal) Y desea incluir un archivo más (testfile4.TXT) En él, el comando, en este caso, sería:
$ zip -u archivos1.zip testfile4.TXT
Eliminar un archivo de un archivo zip
Del mismo modo, también puede eliminar un archivo de un archivo zip ya existente. Utilice la siguiente sintaxis para hacerlo:
$ zip -d zip_file nombre de archivoDigamos que tiene un archivo zip (archivos1.Código Postal) Y desea eliminar un archivo (testfile1.TXT) A partir de él, el comando, en este caso, sería:
$ zip -d archivos1.zip testfile1.TXT
Comprimir archivos en modo silencioso
Si no desea mostrar la salida del comando zip, use la opción -q (silencioso) con el comando zip de la siguiente manera:
$ zip -q zip_file nombre de archivoPor ejemplo, al comprimir el archivo de prueba.txt, puede suprimir la salida con el siguiente comando:
$ zip -q prueba.archivo de prueba zip.TXTEn la siguiente captura de pantalla, puede ver la salida del comando zip que no se ha mostrado en la Terminal.
Eliminar archivos originales después de comprimir
Por defecto, zip mantiene el archivo original junto con el archivo comprimido. Sin embargo, usando el -metro opción con el comando zip, puede eliminar los archivos originales después de crear su archivo comprimido.
$ zip -m zip_file nombre de archivoPor ejemplo, el siguiente comando eliminará el archivo de prueba.TXT después de crear su archivo comprimido, prueba.Código Postal.
$ zip -m prueba.archivo de prueba zip.TXT
Directorios zip
Para comprimir directorios en su sistema Linux, use el -r Opción (recursiva) con el comando zip. La -r La opción comprimirá los directorios de forma recursiva, yo.mi., incluido el contenido de los subdirectorios.
$ zip -r nombre_directorio archivo_zipPor ejemplo, para comprimir el Documentos directorio de forma recursiva al prueba.Código Postal archivo, el comando sería:
$ zip -r prueba.zip Documentos /Este comando comprimirá el directorio de Documentos, junto con todos los subdirectorios y los archivos incluidos en él.
Establecer el nivel de compresión
También puede establecer el nivel de compresión que se aplicará a los archivos que se están comprimiendo. El nivel de compresión varía de 0 a 9, donde 6 es el valor predeterminado, 0 es el valor más bajo y 9 es el valor más alto de compresión.
Por ejemplo, para comprimir todos los archivos de texto en archivos1.Código Postal usando el valor de compresión más alto, el comando sería:
$ zip -9 archivos1.Código Postal *.TXT
Del mismo modo, para comprimir todos los archivos de texto en archivos2.Código Postal utilizando el valor de compresión más bajo -0, el comando sería:
La siguiente es la salida de la ls comando después de crear los archivos zip. Si comparamos los tamaños de ambos archivos zip, puede ver archivos1.zip, que se comprimió con el nivel de compresión 9, tiene menos tamaño en comparación con los archivos2.zip, que se comprimió con el nivel de compresión 0.
Cree un archivo zip protegido con contraseña
También puede crear archivos zip protegidos con contraseña utilizando el -mi opción con el comando zip de la siguiente manera:
$ zip -e zip_file nombre de archivoPor ejemplo, el siguiente comando comprimirá todos los archivos de texto en archivos3.Código Postal, luego pide una contraseña. Establezca cualquier contraseña y presione Entrar. Luego verifique esta contraseña volviéndola a escribir y presionando Enter.
$ zip -e archivos3.Código Postal *.TXT
Agregar contraseñas a archivos zip con zipcloak
En el ejemplo anterior, hemos creado un archivo zip protegido por contraseña. Pero, ¿qué pasa si ha creado un archivo zip y olvidó establecer la contraseña?. Con el comando zipcloak, puede establecer una contraseña para un archivo zip en cualquier momento.
$ zipcloak zip_filePor ejemplo, para establecer una contraseña para un archivo zip ya creado llamado archivos.Código Postal, el comando sería:
$ archivos zipcloak.Código PostalSe le pedirá una contraseña. Escriba cualquier contraseña y presione Ingresar. Luego verifique esta contraseña volviéndola a escribir y presionando Ingresar.
Ver detalles del archivo con el comando zipdetails
El comando Zipdetails muestra información detallada sobre el archivo comprimido. La información que muestra se refiere a la estructura del registro en lugar de a los datos comprimidos. Para encontrar información detallada sobre el archivo comprimido, escriba zipdetails seguido del nombre del archivo comprimido, como se muestra a continuación:
$ zipdetails zip_filePor ejemplo, para encontrar información detallada sobre un archivo comprimido, prueba.Código Postal, el comando sería:
prueba de $ zipdetails.Código PostalEn la salida, verá mucha información sobre su archivo comprimido.
Busque dentro del archivo con el comando zipgrep
El comando zipgrep nos permite buscar un texto dado dentro de los archivos dentro del archivo comprimido sin extraerlo. Si un archivo zip está protegido con contraseña, primero deberá ingresar la contraseña. Para buscar texto dentro del archivo zip, use la siguiente sintaxis:
$ zipgrep expresión zip_filePor ejemplo, para buscar qué archivos dentro del archivo zip prueba.Código Postal contiene la palabra puerta, el comando sería:
prueba de puerta de enlace $ zipgrep.Código PostalLa salida es la siguiente. Puedes ver dos archivos iplist.texto y iplist dentro de prueba.Código Postal contiene la palabra puerta de enlace.
Para buscar un texto de un archivo específico dentro del archivo zip, también puede agregarlo:
Por ejemplo, el siguiente comando buscará la palabra puerta de solo un archivo específico iplist dentro del archivo zip prueba.Código Postal:
prueba de puerta de enlace $ zipgrep.zip Documento / docs / iplist
Ver información con el comando zipinfo
El comando zipinfo en Linux enumera los archivos contenidos en un archivo zip junto con sus permisos, tipo de compresión, tamaño original, fecha y marca de tiempo. Para ver información sobre un archivo zip específico, escriba zipinfo seguido del nombre del archivo, como se muestra a continuación:
$ zipinfo nombre de archivoEl siguiente comando mostrará información sobre el archivo zip archivos1.Código Postal:
$ zipinfo archivos1.Código Postal
Divida el archivo con el comando zipsplit
A veces, el tamaño del archivo zip es demasiado grande y no puede cargarlo o enviarlo como un archivo adjunto debido a restricciones de tamaño. Con el comando zipsplit, puede dividir los archivos zip en archivos más pequeños que son más fáciles de transferir. Para dividir un archivo zip en archivos más pequeños, con un tamaño no mayor a
La
Por ejemplo, el siguiente comando se dividirá prueba.Código Postal en archivos más pequeños con un tamaño no superior a 104857600 bytes (104 MB).
$ zipsplit -n 104857600 prueba.Código PostalAquí está el resultado del comando anterior. La prueba.Código Postal El archivo se divide en tres archivos, que se nombran secuencialmente como test1.Código Postal, test2.Código Postal, y test3.Código Postal, respectivamente.
Si ejecuta el ls comando, verá los tres archivos zip divididos, junto con el archivo zip original.
Agregar o ver comentarios en un archivo zip con zipnote
Con el comando zipnote, puede agregar, ver y editar los comentarios en su archivo zip. Para ver comentarios, use el siguiente comando:
$ zipnote zip_fileReemplace la Código Postal expediente con su nombre de archivo zip real.
Si no hay comentarios, verá la siguiente vista predeterminada:
Para agregar comentarios, primero deberá redirigir la salida de zipnote al archivo de comentarios. Utilice el siguiente comando para hacerlo:
Por ejemplo, para agregar comentarios a archivos1.Código Postal, el comando sería:
$ archivos zipnote1.zip> comentariosAhora, edite el comentarios archivo usando el siguiente comando:
$ sudo nano comentariosPara cada archivo, agregue sus comentarios sobre las líneas que dicen @ (comentario sobre esta línea),luego guarde y salga del archivo. Hemos agregado dos comentarios en el archivo de comentarios, como se ve resaltado en la captura de pantalla a continuación.
Ahora escriba los comentarios en su archivo zip con el siguiente comando:
En nuestro caso, el comando sería;
$ zipnote -w archivos1.Código Postal < commentsAhora, puede verificar si los comentarios se han agregado emitiendo el siguiente comando en la Terminal:
$ zipnote zip_file
Ver ayuda
Para ver ayuda sobre el comando zip, use el siguiente comando:
$ zip --helpTambién puede visitar la página de manual de la utilidad zip usando el siguiente comando:
$ man zipDescomprimir comando en Linux
Con el comando descomprimir, puede extraer fácilmente contenido de un archivo zip. Para descomprimir un archivo, use la siguiente sintaxis:
$ descomprimir opciones zip_fileDescomprima archivos zip individuales
Para descomprimir un solo archivo zip, digamos prueba.zip, el comando sería:
$ prueba de descompresión.Código PostalDescomprimirá el archivo en el directorio actual.
Descomprime un archivo en un directorio diferente
También puede descomprimir un archivo en otro directorio en lugar del directorio actual usando la opción -d de la siguiente manera:
$ descomprimir archivo_zip -d / ruta / al directorio /Para descomprimir un archivo zip, prueba.Código Postal a Documentos, directorio, el comando sería:
$ prueba de descompresión.zip -d Documentos /
Descomprime varios archivos
Considere que hay varios archivos zip en un directorio actual que desea descomprimir. Puede descomprimirlos todos con un solo comando de la siguiente manera:
$ descomprimir '*.Código Postal'Este comando descomprimirá todos los archivos zip que residen en su directorio actual.
Suprime la salida al usar descomprimir
Similar al comando zip, también puede ocultar la salida del comando descomprimir usando el -q opción de la siguiente manera:
$ unzip -q zip_file
Excluir archivos usando descomprimir
Si desea descomprimir un archivo zip pero no desea extraer un archivo específico, use el -X opción a continuación:
$ unzip zip_file -x nombre de archivoPor ejemplo, tenemos un zip prueba de archivo.Código Postal que contiene tres archivos dentro de él. El siguiente comando descomprimirá todos los archivos excepto el archivo informe.TXT:
$ prueba de descompresión.informe zip -x.TXT
Descomprima archivos zip protegidos con contraseña
Para descomprimir un archivo zip protegido con contraseña sin preguntar, use -PAG opción, seguida de la contraseña del archivo:
$ descomprimir -PPor ejemplo, tenemos un archivo zip, prueba.Código Postal, que está protegido por la contraseña "estaño". Para extraer este archivo, el comando sería:
$ unzip -P prueba de estaño.Código Postal
Sobrescribir archivos zip
Si está descomprimiendo un archivo en una ubicación donde ya existían los archivos extraídos, se le pedirá que: sobrescriba el archivo actual, omita la descompresión del archivo actual, sobrescriba todos los archivos, omita la descompresión de todos los archivos o cambie el nombre del archivo.
Para sobrescribir todos los archivos existentes sin preguntar, utilice el -o opción de la siguiente manera:
Enumere el contenido de un zip
Utilizando la -l opción con el comando descomprimir, puede enumerar el contenido de un archivo zip sin extraerlo.
$ unzip -l zip_fileEjemplo:
$ unzip -l prueba.Código PostalLa siguiente es la salida del comando anterior que enumera los archivos contenidos dentro del archivo zip prueba.Código Postal, junto con sus nombres, tamaño de archivo original, fecha y marcas de tiempo.
Ver información detallada
Para ver información detallada sin extraer el archivo zip, use la opción -v de la siguiente manera:
$ unzip -v zip_fileEjemplo:
$ unzip -v prueba.Código PostalLa siguiente es la salida del comando anterior que enumera los archivos contenidos en el prueba.Código Postal, junto con sus nombres, tamaño de archivo original, tamaño comprimido, método de compresión, relación de compresión, fecha y marcas de tiempo.
Comprobación de errores en un archivo
Con la opción -t en el comando descomprimir, puede verificar si un archivo zip es válido y no contiene ningún error.
$ unzip -t test1.Código PostalEjemplo:
$ unzip -t test1.Código PostalEl comando anterior comprueba si hay errores en el test1.Código Postal archivo y muestra resultados. El siguiente resultado muestra que no hay ningún error en el archivo comprimido.
Ver ayuda
Para ver ayuda sobre el comando descomprimir, use el siguiente comando:
$ unzip --helpTambién puede visitar la página de manual de la utilidad descomprimir usando el siguiente comando:
$ man descomprimirConclusión
Eso es todo lo que necesita saber para dominar los comandos zip y unzip en Linux. En este artículo, hemos discutido en detalle el uso de los comandos zip y unzip en Linux junto con varias opciones de línea de comandos y ejemplos.