Comando ZIP en Linux con ejemplos

ZIP es una utilidad de compresión y empaquetado de archivos para Unix. Cada archivo se almacena en un único archivo .zip {.zip-filename} con la extensión .zip.

  • zip se usa para comprimir los archivos para reducir el tamaño del archivo y también se usa como utilidad de paquete de archivos. zip está disponible en muchos sistemas operativos como Unix, Linux, Windows, etc.
  • Si tiene un ancho de banda limitado entre dos servidores y desea transferir los archivos más rápido, comprima los archivos y transfiéralos.
  • El programa zip coloca uno o más archivos comprimidos en un solo archivo zip, junto con información sobre los archivos (nombre, ruta, fecha, hora de la última modificación, protección e información de verificación para verificar la integridad del archivo). Se puede empaquetar una estructura de directorio completa en un archivo zip con un solo comando.
  • Las proporciones de compresión de 2:1 a 3:1 son comunes para los archivos de texto. zip tiene un método de compresión (desinflado) y también puede almacenar archivos sin comprimir. zip elige automáticamente el mejor de los dos para cada archivo a comprimir.
    El programa es útil para empaquetar un conjunto de archivos para su distribución; para archivar archivos; y para ahorrar espacio en disco mediante la compresión temporal de archivos o directorios no utilizados.

Sintaxis:

zip [options] zipfile files_list

Sintaxis para  crear un archivo zip:

$zip myfile.zip filename.txt

Extraer archivos del archivo zip 

Unzip enumerará, probará o extraerá archivos de un archivo ZIP, que se encuentra comúnmente en los sistemas Unix. El comportamiento predeterminado (sin opciones) es extraer en el directorio actual (y los subdirectorios debajo de él) todos los archivos del archivo ZIP especificado.

Syntax :
$unzip myfile.zip 

Opciones:
1. Opción -d:  elimina el archivo del archivo zip. Después de crear un archivo zip, puede eliminar un archivo del archivo utilizando la opción -d.
Supongamos que tenemos los siguientes archivos en mi directorio actual:
hola1.c
hola2.c
hola3.c
hola4.c
hola5.c
hola6.c
hola7.c
hola8.c

Sintaxis:

$zip –d filename.zip file.txt
Command :
$zip –d myfile.zip hello7.c

Después de eliminar hello7.c del archivo myfile.zip, los archivos se pueden restaurar con el comando descomprimir

Command:
$unzip myfile.zip
$ls command
Output :
hello1.c
hello2.c
hello3.c
hello4.c
hello5.c
hello6.c
hello8.c
The hello7.c file is removed from zip file

2. Opción -u:  Actualiza el archivo en el archivo zip. Esta opción se puede utilizar para actualizar la lista de archivos especificada o agregar nuevos archivos al archivo zip existente. Actualice una entrada existente en el archivo zip solo si se ha modificado más recientemente que la versión que ya está en el archivo zip.
Sintaxis:

$zip –u filename.zip file.txt

Supongamos que tenemos los siguientes archivos en mi directorio actual:
hola1.c
hola2.c
hola3.c
hola4.c

Command :
$zip –u myfile.zip hello5.c

Después de actualizar hello5.c desde el archivo myfile.zip, los archivos se pueden restaurar con el comando descomprimir

Command:
$unzip myfile.zip
$ls command
Output :
hello1.c
hello2.c
hello3.c
hello4.c
hello5.c
The hello5.c file is updated to the zip file

3. Opción -m:  elimina los archivos originales después de comprimirlos. Mueva los archivos especificados al archivo zip en realidad, esto elimina los directorios/archivos de destino después de crear el archivo zip especificado. Si un directorio queda vacío después de eliminar los archivos, el directorio también se elimina. No se realizan eliminaciones hasta que zip haya creado el archivo sin errores. Esto es útil para conservar espacio en disco, pero es potencialmente peligroso eliminar todos los archivos de entrada.
Sintaxis:

$zip –m filename.zip file.txt

Supongamos que tenemos los siguientes archivos en mi directorio actual:
hola1.c
hola2.c
hola3.c
hola4.c

Command :
$zip –m myfile.zip *.c

Después de que el terminal haya ejecutado este comando, este es el resultado:

Command:
$ls command
Output :
myfile.zip
//No other files of .c(extension) has been found

4. Opción -r:  Para comprimir un directorio recursivamente, use la opción -r con el comando zip y comprimirá recursivamente los archivos en un directorio. Esta opción le ayuda a comprimir todos los archivos presentes en el directorio especificado.

Sintaxis:

$zip –r filename.zip directory_name

Supongamos que tenemos los siguientes archivos en mi directorio actual (docs) que se enumeran a continuación:
unix.pdf
oracle.pdf
linux.pdf

Command :
$zip –r mydir.zip docs
Output :
  adding: docs/            //Compressing the directory
  adding: docs/unix.pdf   // Compressing first file
  adding: docs/oracle.pdf // Compressing second file
  adding: docs/linux.pdf  //Compressing third file

5. Opción -x:  Excluye los archivos al crear el zip. Digamos que está comprimiendo todos los archivos en el directorio actual y desea excluir algunos archivos no deseados. Puede excluir estos archivos no deseados usando la opción -x.

Sintaxis:

$zip –x filename.zip file_to_be_excluded

Supongamos que tenemos los siguientes archivos en mi directorio actual:
hola1.c
hola2.c
hola3.c
hola4.c

Command :
$zip –x myfile.zip hello3.c

Este comando en ejecución comprimirá todos los archivos excepto hello3.c

Command:
$ls command
Output :
myfile.zip //compressed file
hello3.c   //this file has been excluded while compressing

6. Opción -v:  Modo detallado o imprimir información de versión de diagnóstico. Normalmente, cuando se aplica a operaciones reales, esta opción habilita la visualización de un indicador de progreso durante la compresión y solicita información de diagnóstico detallada sobre las rarezas de la estructura del archivo zip.
Cuando -v es el único argumento de la línea de comandos y stdin o stdout no se redireccionan a un archivo, se imprime una pantalla de diagnóstico. Además del encabezado de la pantalla de ayuda con el nombre del programa, la versión y la fecha de lanzamiento, se brindan algunos indicadores para los sitios de inicio y distribución de Info-ZIP. Luego, muestra información sobre el entorno de destino (tipo y versión del compilador, versión del sistema operativo, fecha de compilación y las funciones opcionales habilitadas que se usan para crear el ejecutable zip.

Sintaxis:

$zip –v filename.zip file1.txt

Supongamos que tenemos los siguientes archivos en mi directorio actual:
hola1.c
hola2.c
hola3.c
hola4.c

Command
$zip -v file1.zip *.c
Output :
adding: hello1.c    (in=0) (out=0) (stored 0%)
  adding: hello2.c    (in=0) (out=0) (stored 0%)
  adding: hello3.c    (in=0) (out=0) (stored 0%)
  adding: hello4.c    (in=0) (out=0) (stored 0%)
total bytes=0, compressed=0 -> 0% savings

Este artículo es una contribución de Mohak Agrawal . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *