Comando zip de Linux

comando zip

El programa zip se usa para empaquetar y comprimir archivos.

Descripción

zip es una utilidad de compresión y empaque de archivos para Unix, VMS, MSDOS, OS / 2, Windows 9x / NT / XP, Minix, Atari, Macintosh, Amiga y Acorn RISC OS. Es análogo a una combinación de los comandos tar y comprimir de Unix, y es compatible con PKZIP.

Un programa complementario separado, descomprime, descomprime y descomprime archivos zip. Los programas zip y descomprimir pueden trabajar con archivos producidos por PKZIP (admitiendo la mayoría de las funciones PKZIP hasta PKZIP versión 4.6), y PKZIP y PKUNZIP pueden trabajar con archivos producidos por zip (con algunas excepciones).

zip admite macOS X, y en ese sistema operativo, la mayoría de las características de Unix son las mismas.

Uso

zip es útil para empaquetar un conjunto de archivos para su distribución, para archivar archivos y para ahorrar espacio en el disco al comprimir temporalmente archivos o directorios no utilizados.

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). Una estructura de directorios completa se puede empaquetar en un archivo zip con un solo comando. Las relaciones de compresión de 2: 1 a 3: 1 son comunes para los archivos de texto. zip tiene un método de compresión (deflación) y también puede almacenar archivos sin compresión. (Si se agrega la compatibilidad con bzip2, zip también se puede comprimir usando la compresión bzip2, pero tales entradas requieren un descomprimir razonablemente moderno para descomprimir. Cuando se selecciona la compresión bzip2, reemplaza la deflación como el método predeterminado.) Zip elige automáticamente la mejor de las dos ( deflación o almacenamiento o, si se selecciona bzip2, bzip2 o almacén) para que se comprima cada archivo.

Formato de comando

El formato de comando básico es:

archivo zip opciones inpath inpath ...

… donde archive es un archivo zip nuevo o existente y inpath es una ruta de directorio o archivo que incluye opcionalmente comodines. Cuando se le da el nombre de un archivo zip existente, zip reemplazará las entradas con nombres idénticos en el archivo zip (que coincidan con los nombres relativos como se almacenan en el archivo) o agregará entradas para nuevos nombres. Por ejemplo, si existe foo.zip y contiene foo / file1 y foo / file2, y el directorio foo contiene los archivos foo / file1 y foo / file3, entonces:

zip -r foo.zip foo

o más concisamente:

zip -r foo foo

… reemplazará foo / file1 en foo.zip y agregará foo / file3 a foo.zip. Después de esto, foo.zip contiene foo / file1, foo / file2 y foo / file3, con foo / file2 sin cambios desde antes.

Entonces, si antes de que se ejecute el comando zip, foo.zip tiene:

foo / file1 foo / file2

y el directorio foo tiene:

archivo1 archivo3

entonces foo.zip tendrá:

foo / file1 foo / file2 foo / file3

… donde foo / file1 se reemplaza y foo / file3 es nuevo.

Listas de archivos

Si se especifica una lista de archivos como [correo electrónico protegido], zip toma la lista de archivos de entrada desde la entrada estándar en lugar de desde la línea de comandos. Por ejemplo,

zip [correo electrónico protegido] foo

… almacenará los archivos enumerados, uno por línea en la entrada estándar, en el archivo foo.zip.

En Unix, esta opción se puede usar con un efecto poderoso junto con el comando find. Por ejemplo, para archivar todos los archivos fuente C en el directorio actual y sus subdirectorios:

encontrar . -name "*. [ch]" -print | fuente zip [correo electrónico protegido]

(tenga en cuenta que el patrón debe ser citado para evitar que el shell lo expanda).

Streaming de entrada y salida. zip también aceptará un solo guión ("-") como nombre del archivo zip, en cuyo caso escribirá el archivo zip en la salida estándar, permitiendo que la salida se canalice a otro programa. Por ejemplo:

zip -r -. El | dd de = / dev / nrst0 obs = 16k

… escribiría la salida zip directamente en una cinta con el tamaño de bloque especificado con el fin de realizar una copia de seguridad del directorio actual.

zip también acepta un solo guión ("-") como el nombre de un archivo a comprimir, en cuyo caso leerá el archivo desde la entrada estándar, permitiendo que zip tome la entrada de otro programa. Por ejemplo:

tar cf -. El | copia de seguridad zip

… comprimiría la salida del comando tar con el fin de hacer una copia de seguridad del directorio actual. Esto generalmente produce una mejor compresión que el ejemplo anterior usando la opción -r porque zip puede aprovechar la redundancia entre archivos. La copia de seguridad se puede restaurar con el comando:

descomprimir -p copia de seguridad | tar xf -

Cuando no se proporciona un nombre de archivo zip y stdout no es un terminal, zip actúa como un filtro, comprimiendo la entrada estándar a la salida estándar. Por ejemplo,

tar cf -. El | zip | dd de = / dev / nrst0 obs = 16k

…es equivalente a

tar cf -. El | zip - - | dd de = / dev / nrst0 obs = 16k

Los archivos zip creados de esta manera se pueden extraer con el programa funzip que se proporciona en el paquete descomprimir, o con gunzip que se proporciona en el paquete gzip (pero algunas instalaciones de gunzip pueden no admitir esto si zip usa las extensiones Zip64). Por ejemplo:

dd if = / dev / nrst0 ibs = 16k | funzip | tar xvf -

La secuencia también se puede guardar en un archivo y descomprimir utilizado.

Si la compatibilidad con Zip64 para archivos y archivos grandes está habilitada y se usa zip como filtro, zip crea un archivo Zip64 que requiere un descompresión compatible con PKZIP 4.5 o posterior para leer el archivo. Para evitar ambigüedades en la estructura del archivo zip como se define en el estándar zip actual (PKWARE AppNote) donde la decisión de usar Zip64 debe tomarse antes de que se escriban los datos para la entrada, pero para una secuencia no se conoce el tamaño de los datos en ese punto. Si se sabe que los datos son más pequeños que 4 GB, la opción -fz- se puede usar para evitar el uso de Zip64, pero zip se cerrará con un error si realmente se necesita Zip64. zip 3 y descomprimir 6 y posterior pueden leer archivos con entradas Zip64. Además, zip elimina las extensiones Zip64 si no es necesario cuando se copian entradas de archivo (vea la opción -U (–copy)).

Al dirigir la salida a otro archivo, tenga en cuenta que todas las opciones deben estar antes de la redirección, incluida -x. Por ejemplo:

archivo zip "* .h" "* .c" -x donotinclude.h orthis.h> tofile

Tenga en cuenta que las listas [protegidas por correo electrónico] no funcionan en macOS.

Archivos zip

Al cambiar un archivo zip existente, zip escribirá un archivo temporal con los nuevos contenidos y solo reemplazará el antiguo cuando el proceso de creación de la nueva versión se haya completado sin error.

Si el nombre del archivo zip no contiene una extensión, se agrega la extensión .zip. Si el nombre ya contiene una extensión distinta de .zip, la extensión existente se mantiene sin cambios. Sin embargo, los archivos divididos (archivos divididos en varios archivos) requieren la extensión .zip en la última división.

Escaneo y lectura de archivos

Cuando se inicia zip, busca archivos para procesar (si es necesario). Si este análisis lleva más de unos 5 segundos, zip muestra un mensaje de "Análisis de archivos" y comienza a mostrar puntos de progreso cada 2 segundos o cada tantas entradas procesadas, lo que tarde más. Si hay más de 2 segundos entre puntos, podría indicar que encontrar cada archivo lleva tiempo y podría significar una conexión de red lenta, por ejemplo. (En realidad, el escaneo inicial de archivos es un proceso de dos pasos donde el escaneo del directorio es seguido por una clasificación y estos dos pasos se separan con un espacio en los puntos. Si actualiza un archivo existente, también aparece un espacio entre el escaneo de archivos existente el nuevo escaneo de archivos.) Los puntos de escaneo de archivos no están controlados por la opción de tamaño de punto -ds, pero los puntos están desactivados por la opción silenciosa -q. La opción -sf show files se puede usar para escanear archivos y obtener la lista de archivos escaneados sin procesarlos realmente.

Si zip no puede leer un archivo, emite una advertencia pero continúa. Consulte la opción -MM a continuación para obtener más información sobre cómo zip maneja patrones que no coinciden y archivos que no son legibles. Si se omitieron algunos archivos, se emite una advertencia al final de la operación zip que indica cuántos archivos se leyeron y cuántos se omitieron.

Modos de comando

zip ahora admite dos tipos distintos de modos de comando, externo e interno. Los modos externos (agregar, actualizar y actualizar) leen archivos del sistema de archivos (así como de un archivo existente) mientras que los modos internos (eliminar y copiar) operan exclusivamente en las entradas de un archivo existente.

agregue Actualice las entradas existentes y agregue nuevos archivos y créelo si el archivo no existe. Esta opción es el modo predeterminado.
actualizar (-u) Actualice las entradas existentes si son más recientes en el sistema de archivos y agregue nuevos archivos. Si el archivo no existe, se emite una advertencia, cree un nuevo archivo.
refrescar (-f) Actualice las entradas existentes de un archivo si es más reciente en el sistema de archivos. No agrega nuevos archivos al archivo.
eliminar (-d) Seleccione entradas en un archivo existente y elimínelas.
copia (-U) Seleccione entradas en un archivo existente y cópielas en un nuevo archivo. Este nuevo modo es similar a la actualización, pero los patrones de línea de comando seleccionan entradas en el archivo existente en lugar de archivos del sistema de archivos y utiliza la opción –out para escribir el archivo resultante en un archivo nuevo en lugar de actualizar el archivo existente, dejando archivo original sin cambios.

La nueva opción de sincronización de archivos (-FS) también se considera un nuevo modo, aunque es similar a la actualización. Este modo sincroniza el archivo con los archivos del sistema operativo, solo reemplaza los archivos en el archivo si el tiempo o el tamaño del archivo del sistema operativo es diferente, agrega nuevos archivos y elimina las entradas del archivo donde no hay un archivo coincidente. Como este modo puede eliminar entradas del archivo, considere hacer una copia de seguridad del archivo.

Consulte también -DF para crear archivos de diferencias.

Archivos divididos

La versión zip 3.0 y posterior puede crear archivos divididos. Un archivo dividido es un archivo zip estándar dividido en varios archivos. (Tenga en cuenta que los archivos divididos no son solo archivos divididos en partes, ya que las compensaciones de las entradas ahora se basan en el inicio de cada división. Concatenar las piezas juntas invalidará estas compensaciones, pero descomprimir generalmente puede tratar con él. Zip generalmente se negará para procesar dicho archivo empalmado a menos que se use la opción de corrección -FF para corregir las compensaciones).

Un uso de los archivos divididos es almacenar un archivo grande en múltiples medios extraíbles. Para un archivo dividido con 20 archivos divididos, los archivos generalmente se denominan (reemplace ARCHIVE con el nombre de su archivo) ARCHIVE.z01, ARCHIVE.z02, …, ARCHIVE.z19, ARCHIVE.zip. Tenga en cuenta que el último archivo es el archivo .zip. En contraste, los archivos distribuidos son el archivo original de múltiples discos que generalmente requieren disquetes y usan etiquetas de volumen para almacenar números de disco. zip admite archivos divididos pero no archivos divididos, aunque existe un procedimiento para convertir archivos divididos del tamaño correcto en archivos divididos. Lo contrario también es cierto, donde cada archivo de un archivo expandido se puede copiar a archivos con los nombres anteriores para crear un archivo dividido.

Use -s para establecer el tamaño de división y crear un archivo dividido. El tamaño se da como un número seguido opcionalmente por uno de k (kB), m (MB), g (GB) o t (TB) (el valor predeterminado es m). La opción -sp se puede usar para pausar zip entre divisiones para permitir cambiar los medios extraíbles, por ejemplo, pero lea las descripciones y advertencias para -s y -sp a continuación.

Aunque zip no actualiza los archivos divididos, zip proporciona la nueva opción -O (–output-file o –out) para permitir que los archivos divididos se actualicen y se guarden en un nuevo archivo. Por ejemplo,

zip inarchive.zip foo.c bar.c --out outarchive.zip

… lee el archivo inarchive.zip, incluso si está dividido, agrega los archivos foo.c y bar.c, y escribe el archivo resultante en outarchive.zip. Si inarchive.zip está dividido, outarchive.zip tiene el mismo tamaño de división. Tenga en cuenta que si outarchive.zip y los archivos divididos que se crean con él ya existen, estos se sobrescribirán siempre que sea necesario sin previo aviso. Esto puede ser cambiado en el futuro.

Soporte Unicode

Aunque el estándar zip requiere almacenar rutas en un archivo utilizando un conjunto de caracteres específico, en la práctica las cremalleras han almacenado rutas en archivos en cualquier conjunto de caracteres local. Pueden surgir problemas cuando se crea o actualiza un archivo en un sistema usando un juego de caracteres y luego se extrae en otro sistema usando un juego de caracteres diferente. Cuando se compila con el soporte Unicode habilitado en plataformas que admiten caracteres anchos, zip ahora almacena, además de la ruta local estándar para la compatibilidad con versiones anteriores, la traducción UTF-8 de la ruta. Esto proporciona un conjunto de caracteres universal común para almacenar rutas que permite que estas rutas se extraigan completamente en otros sistemas que admiten Unicode y que coincidan lo más cerca posible en sistemas que no lo hacen.

En los sistemas Win32 donde las rutas se almacenan internamente como Unicode pero se representan en el conjunto de caracteres local, es posible que algunas rutas se omitan durante una exploración del directorio del conjunto de caracteres local. zip con soporte Unicode ahora puede leer y almacenar estas rutas. Tenga en cuenta que los sistemas Win 9x y los sistemas de archivos FAT no son totalmente compatibles con Unicode.

Tenga en cuenta que las ventanas de consola en Win32 y Unix, por ejemplo, a veces no muestran con precisión todos los caracteres debido a cómo cada sistema operativo cambia en conjuntos de caracteres para mostrar. Sin embargo, las herramientas de navegación del directorio deberían mostrar las rutas correctas si se cargan las fuentes necesarias.

Formato de línea de comando

Esta versión de zip ha actualizado el procesamiento de línea de comandos y el soporte para opciones largas.

Las opciones cortas toman la forma:

-s [-] [s [-] ...] [valor] [= valor] [valor]

… donde s es una opción corta de uno o dos caracteres. Una opción corta que toma un valor es la última en un argumento y cualquier cosa después de que se tome como valor. Si la opción se puede negar y "-" sigue inmediatamente a la opción, la opción se niega. Las opciones cortas también se pueden dar como argumentos separados

-s [-] [valor] [= valor] [valor] -s [-] [valor] [= valor] [valor] ...

Las opciones cortas en general toman valores como parte del mismo argumento o como el siguiente argumento. Un opcional = también es compatible. Entonces -ttmmddyyyy, -tt = mmddyyyy, y -tt mmddyyyy todo funciona. Las opciones -x e -i aceptan listas de valores y usan un formato ligeramente diferente que se describe a continuación. Ver las opciones -x y -i.

Las opciones largas toman la forma

--longoption [-] [= valor] [valor]

donde la opción comienza con -, tiene un nombre de varios caracteres, puede incluir un guión final para negar la opción (si la opción lo admite) y puede tener un valor (argumento de opción) especificado precediéndolo con = (sin espacios). Los valores también pueden seguir el argumento. Entonces –before-date = mmddyyyy y –before-date mmddyyyy ambos funcionan.

Los nombres largos de opciones se pueden acortar a la abreviatura única más corta. Consulte las descripciones de las opciones a continuación para las cuales se admiten opciones largas Para evitar confusiones, evite abreviar una opción negociable con un guión incrustado ("-") en el guión si planea negarlo (el analizador consideraría un guión final, como para la opción –algunas opciones usando –algunos – como opción, como parte del nombre en lugar de un guión de negación). Esto se puede cambiar para forzar la entrada del último guión –algunos– para negar en el futuro.

Sintaxis

zip [[correo electrónico protegido] $] [--longoption ...] [-b ruta] [-n sufijos] [-t fecha] [-tt fecha] [zipfile [archivo ...]] [-xi lista]

-a, –ascii En los sistemas que utilizan EBCDIC, esta opción traduce los archivos al formato ASCII.
-A, –adjust-sfx Ajuste el archivo ejecutable autoextraíble. Un archivo ejecutable autoextraíble se crea anteponiendo el código auxiliar "SFX" a un archivo existente. La opción -A le dice a zip que ajuste las compensaciones de entrada almacenadas en el archivo para tener en cuenta estos datos de "preámbulo".
-AC, –archive-clear Esta opción es una opción solo para Windows. Una vez que se crea el archivo (y se prueba si se usa -T, lo cual se recomienda), borre los bits de archivo de los archivos procesados. Una vez que los bits se borran, se borran permanentemente. Es posible que desee utilizar la opción -sf (mostrar archivos) para almacenar la lista de archivos procesados ​​en caso de que deba repetirse la operación de archivo. También considere usar la opción -MM (debe coincidir). Asegúrese de revisar -DF como una forma posiblemente mejor de hacer copias de seguridad incrementales.
-AS, –archivo-conjunto Esta opción es solo una opción de Windows que solo incluye archivos que tienen establecido el bit de archivo. Los directorios no se almacenan cuando se usa -AS, aunque de forma predeterminada las rutas de las entradas, incluidos los directorios, se almacenan como de costumbre y la mayoría de las descomprime pueden usarlas para recrear directorios. El sistema operativo establece el bit de archivo cuando se modifica un archivo y, si se usa con -AC, -AS puede proporcionar una capacidad de copia de seguridad incremental. Sin embargo, otras aplicaciones pueden modificar el bit de archivo y puede que no sea un indicador confiable de qué archivos han cambiado desde la última operación de archivo. Las formas alternativas de crear copias de seguridad incrementales están utilizando -t para usar fechas de archivo, aunque esto no detectará los archivos antiguos copiados en los directorios que se archivan, y -DF para crear un archivo diferencial.
-B, –binario Forzar que los archivos se lean como binarios (el valor predeterminado es texto).
-b ruta, –temp-path path Use la ruta especificada para el archivo zip temporal. Por ejemplo:

cosas zip -b / tmp *

… colocará el archivo zip temporal en el directorio / tmp, copiando sobre stuff.zip al directorio actual cuando haya terminado. Esta opción es útil cuando se actualiza un archivo existente y el sistema de archivos que contiene este archivo antiguo no tiene suficiente espacio para contener archivos antiguos y nuevos al mismo tiempo. También puede ser útil cuando se transmite en algunos casos para evitar la necesidad de descriptores de datos. Tenga en cuenta que el uso de esta opción puede requerir que zip tome más tiempo para copiar el archivo de almacenamiento cuando lo haya hecho al sistema de archivos de destino.

-C, –entry-comments Agregue comentarios de una línea para cada archivo. Las operaciones de archivo (agregar, actualizar) se realizan primero, y luego se le solicita al usuario un comentario de una línea para cada archivo. Ingrese el comentario seguido de retorno, o simplemente regrese sin comentarios.
-d, –delete Eliminar (eliminar) entradas de un archivo zip. Por ejemplo:

zip -d foo foo / tom / junk foo / harry /  *  *. o

… eliminará la entrada foo / tom / junk, todos los archivos que comienzan con foo / harry / y todos los archivos que terminan con .o (en cualquier ruta). Tenga en cuenta que la expansión del nombre de ruta del shell se ha inhibido con barras diagonales inversas, de modo que zip puede ver los asteriscos, lo que permite que zip coincida con el contenido del archivo zip en lugar del contenido del directorio actual. (Las barras invertidas no se usan en plataformas basadas en MSDOS). También se pueden usar comillas para escapar de los asteriscos, como en

zip -d foo foo / tom / basura "foo / harry / *" "* .o"

No escapar de los asteriscos en un sistema donde el shell expande comodines podría resultar en que los asteriscos se conviertan en una lista de archivos en el directorio actual y esa lista se use para eliminar entradas del archivo. En MSDOS, -d distingue entre mayúsculas y minúsculas cuando coincide con los nombres en el archivo zip. Esto requiere que los nombres de los archivos se ingresen en mayúsculas si PKZIP los comprimió en un sistema MSDOS. Vea la opción -ic para ignorar mayúsculas y minúsculas en el archivo.

-db, –display-bytes Muestra el recuento de bytes en ejecución que muestra los bytes comprimidos y los bytes que faltan.
-dc, –display-count Muestra un recuento continuo de entradas comprimidas y entradas aún por procesar.
-dd, –display-dots Muestra puntos mientras cada entrada está comprimida (excepto en los puertos que tienen su propio indicador de progreso). Consulte -ds a continuación para configurar el tamaño del punto. El valor predeterminado es un punto cada 10 MB de archivo de entrada procesado. La opción -v también muestra puntos (anteriormente a una velocidad mucho mayor que esta, pero ahora -v también tiene un valor predeterminado de 10 MB) y esta velocidad también está controlada por -ds.
-df, –datafork En MacOS, incluya solo la bifurcación de datos de los archivos comprimidos en el archivo. Bueno para exportar archivos a sistemas operativos extranjeros. Los tenedores de recursos serán ignorados en absoluto.
-dg, –display-globaldots Mostrar puntos de progreso para el archivo en lugar de para cada archivo. El comando

zip -qdgds 10m

… desactivará la mayoría de los resultados, excepto los puntos cada 10 MB.

-ds size, –dot-size size Establezca la cantidad de archivos de entrada procesados ​​para cada punto que se muestra. Consulte -dd para habilitar la visualización de puntos. Establecer esta opción implica -dd. El tamaño está en el formato nm donde n es un número ym es un multiplicador. Actualmente m puede ser k (KB), m (MB), g (GB) o t (TB); entonces, si n es 100 ym es k, el tamaño sería 100k, que es 100 KB. El valor predeterminado es 10 MB. La opción -v también muestra puntos y ahora también tiene un valor predeterminado de 10 MB. Esta tasa también está controlada por esta opción. Un tamaño de 0 desactiva los puntos. Esta opción no controla los puntos desde el mensaje "Escaneando archivos" como escaneos zip para archivos de entrada. El tamaño de punto para eso se fija en 2 segundos o un número fijo de entradas, lo que sea más largo.
-du, –display-usize Muestra el tamaño sin comprimir de cada entrada.
-dv, –display-volume Muestre el número de volumen (disco) desde el que se lee cada entrada, si está leyendo un archivo existente, y dónde se está escribiendo.
-D, –no-dir-entradas No cree entradas en el archivo zip para directorios. Las entradas de directorio se crean de manera predeterminada para que sus atributos se puedan guardar en el archivo. La variable de entorno ZIPOPT se puede usar para cambiar las opciones predeterminadas. Por ejemplo, bajo Unix con sh:

ZIPOPT = "- D"; Exportar ZIPOPT

(La variable ZIPOPT se puede usar para cualquier opción, incluyendo -i y -x usando un nuevo formato de opción detallado a continuación, y puede incluir varias opciones). La opción -D es una abreviatura de -x "* /" pero esta última anteriormente no se pudo establecer como predeterminado en la variable de entorno ZIPOPT ya que el contenido de ZIPOPT se inserta cerca del comienzo de la línea de comando y la lista de archivos tenía que terminar al final de la línea. Esta versión de zip permite las opciones -x y -i en ZIPOPT si el formulario

-x archivo ... @

… se utiliza, donde @ (un argumento que es solo @) termina la lista.

-DF, –difference-archive Cree un archivo que contenga todos los archivos nuevos y modificados desde que se creó el archivo original. Para que esto funcione, la lista de archivos de entrada y el directorio actual deben ser los mismos que durante la operación zip original. Por ejemplo, si el archivo existente se creó usando

zip -r foofull.

desde el directorio de la barra, luego el comando

zip -r foofull. -DF - sin foonew

… también desde el directorio de la barra crea el archivo siguiente con solo los archivos que no están completos y los archivos donde el tamaño o el tiempo de los archivos no coinciden con los archivos completos. Tenga en cuenta que la variable de entorno de zona horaria TZ debe establecerse de acuerdo con la zona horaria local para que esta opción funcione correctamente. Un cambio en la zona horaria desde que se creó el archivo original podría ocasionar que no coincida ningún tiempo y que se incluyan todos los archivos. Un posible enfoque para hacer una copia de seguridad de un directorio podría ser crear un archivo normal de los contenidos del directorio como una copia de seguridad completa, luego usar esta opción para crear copias de seguridad incrementales.

-e, –cifrar Cifre el contenido del archivo zip utilizando una contraseña que se ingresa en el terminal en respuesta a una solicitud (esto no tendrá eco; si el error estándar no es un tty, zip saldrá con un error). La solicitud de contraseña se repite para evitar que el usuario escriba errores.
-E, –nombres largos En OS / 2, use el atributo extendido .LONGNAME (si se encuentra) como el nombre del archivo.
-f, –freshen Reemplace (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; a diferencia de la opción de actualización (-u), esto no agregará archivos que aún no están en el archivo zip. Por ejemplo:

zip -f foo

Este comando debe ejecutarse desde el mismo directorio desde el que se ejecutó el comando zip original, ya que las rutas almacenadas en los archivos zip son siempre relativas. Tenga en cuenta que la variable de entorno de la zona horaria TZ debe establecerse de acuerdo con la zona horaria local para que las opciones -f, -u y -o funcionen correctamente. Las razones detrás de esto son algo sutiles pero tienen que ver con las diferencias entre los tiempos de archivo en formato Unix (siempre en GMT) y la mayoría de los otros sistemas operativos (siempre hora local) y la necesidad de comparar los dos. Un valor TZ típico es "MET-1MEST" (hora de Europa Central con ajuste automático para "verano" o horario de verano). El formato es TTThhDDD, donde TTT es la zona horaria como PST, hh es la diferencia entre GMT y la hora local como -1 arriba, y DDD es la zona horaria cuando el horario de verano está vigente. Deje el DDD si no hay horario de verano. Para la zona horaria del este de los EE. UU .: EST5EDT.

-F, –fix, -FF, –fixfix Repara el archivo zip. La opción -F se puede usar si faltan algunas partes del archivo, pero requiere un directorio central razonablemente intacto. El archivo de entrada se escanea como de costumbre, pero zip ignora algunos problemas. El archivo resultante debe ser válido, pero se omitirá cualquier entrada inconsistente. Cuando se dobla como en -FF, el archivo se escanea desde el principio y se escanea el zip en busca de firmas especiales para identificar los límites entre los miembros del archivo. El single -F es más confiable si el archivo no está demasiado dañado, así que primero pruebe esta opción. Si el archivo está demasiado dañado o el final se ha truncado, debe usar -FF. Esta opción es un cambio de zip 2.32, donde la opción -F puede leer un archivo truncado. La opción -F ahora corrige de manera más confiable los archivos con daños menores y la opción -FF es necesaria para reparar archivos donde -F podría haber sido suficiente antes. Ninguna de las opciones recuperará los archivos que se transfirieron incorrectamente en modo ascii en lugar de binario. Después de la reparación, la opción -t de descomprimir puede mostrar que algunos archivos tienen un CRC incorrecto. Dichos archivos no se pueden recuperar; puedes eliminarlos del archivo usando la opción -d de zip. Tenga en cuenta que -FF puede tener problemas para arreglar archivos que incluyen un archivo zip integrado que se almacenó (sin compresión) en el archivo y, dependiendo del daño, puede encontrar las entradas en el archivo integrado en lugar del archivo en sí. Pruebe -F primero, ya que no tiene este problema. El formato de los comandos de reparación ha cambiado. Por ejemplo, para arreglar el archivo dañado foo.zip,

zip -F foo --out foofix

… intenta leer las entradas normalmente, copiando buenas entradas en el nuevo archivo foofix.zip. Si esto no funciona, como cuando el archivo está truncado, o si se pierden algunas entradas que sabe que están en el archivo, intente

zip -FF foo --out foofixfix

… y compare el archivo resultante con el archivo creado por -F. La opción -FF puede crear un archivo inconsistente. Dependiendo de lo que esté dañado, puede usar la opción -F para arreglar ese archivo. Un archivo dividido con archivos divididos faltantes se puede arreglar usando -F si tiene la última división del archivo (el archivo .zip). Si falta este archivo, debe usar -FF para arreglar el archivo, lo que le pedirá las divisiones que tiene. Actualmente, las opciones de reparación no pueden recuperar las entradas que tienen una suma de verificación incorrecta o que están dañadas.

-FI, –fifo En Unix, normalmente zip omite la lectura de cualquier FIFO (canalización con nombre) encontrada, ya que zip puede bloquearse si no se alimenta el FIFO. Esta opción le dice a zip que lea el contenido de cualquier FIFO que encuentre.
-FS, –filesync Sincronice el contenido de un archivo con los archivos del sistema operativo. Normalmente, cuando se actualiza un archivo, se agregan nuevos archivos y los archivos modificados se actualizan, pero los archivos que ya no existen en el sistema operativo no se eliminan del archivo. Esta opción habilita un nuevo modo que verifica las entradas en el archivo contra el sistema de archivos. Si el tiempo y el tamaño del archivo de la entrada coinciden con los del archivo del sistema operativo, la entrada se copia del archivo antiguo en lugar de leerse del sistema de archivos y comprimirse. Si el archivo del sistema operativo ha cambiado, la entrada se lee y comprime como de costumbre. Si la entrada en el archivo no coincide con un archivo en el sistema operativo, la entrada se elimina. Habilitar esta opción debería crear archivos que sean los mismos que los archivos nuevos, pero dado que las entradas existentes se copian en lugar de comprimirse, actualizar un archivo existente con -FS puede ser mucho más rápido que crear un archivo nuevo. También considere usar -u para actualizar un archivo. Para que esta opción funcione, el archivo debe actualizarse desde el mismo directorio en el que se creó para que las rutas relativas coincidan. Si se copian pocos archivos del archivo antiguo, puede ser más rápido crear un archivo nuevo. Tenga en cuenta que la variable de entorno de zona horaria TZ debe establecerse de acuerdo con la zona horaria local para que esta opción funcione correctamente. Un cambio en la zona horaria desde que se creó el archivo original podría ocasionar que no haya coincidencias y recompresión de todos los archivos. Esta opción elimina archivos del archivo. Si necesita conservar el archivo original, primero haga una copia del archivo o use la opción –out para enviar el archivo actualizado a un nuevo archivo. Aunque puede ser más lento, crear un nuevo archivo con un nuevo nombre de archivo es más seguro, evita las discrepancias entre el archivo y las rutas del sistema operativo, y es preferible.
-g, –crecimiento Crezca (agregue) el archivo zip especificado, en lugar de crear uno nuevo. Si esta operación falla, zip intenta restaurar el archivo a su estado original. Si la restauración falla, el archivo podría corromperse. Esta opción se ignora cuando no hay un archivo existente o cuando al menos un miembro del archivo debe actualizarse o eliminarse.
-h, – ?, –ayuda Muestra la información de ayuda de zip (esto también aparece si zip se ejecuta sin argumentos).
-h2, –más-ayuda Mostrar ayuda extendida que incluye más información sobre el formato de línea de comando, coincidencia de patrones y opciones más oscuras.
-i archivos, –incluir archivos Incluya solo los archivos especificados, como en:

zip -r foo. -i  *. c

… que incluirá solo los archivos que terminan en .c en el directorio actual y sus subdirectorios. (Nota para usuarios de PKZIP: el comando equivalente es

pkzip -rP foo * .c

PKZIP no permite la recursividad en directorios que no sean el actual.) La barra diagonal inversa evita la sustitución del nombre del archivo de shell, por lo que la coincidencia de nombres se realiza mediante zip en todos los niveles de directorio. [Esta opción es para Unix y otros sistemas donde "" escapa al siguiente carácter.] Para incluir dir, un directorio directamente debajo del directorio actual, use:

zip -r foo. -i dir /  *

o bien:

zip -r foo. -i "dir / *"

… para que coincida con rutas como dir / a y dir / b / file.c. Tenga en cuenta que actualmente se necesita el final / para los directorios (como en:

zip -r foo. -i dir /

… para incluir directorio dir). La forma de opción larga del primer ejemplo es:

zip -r foo. --include  *. c

… y hace lo mismo que el formulario de opción corta. Aunque la sintaxis del comando solía requerir -i al final de la línea de comando, esta versión realmente permite -i (o –incluir) en cualquier lugar. La lista de archivos termina en el siguiente argumento que comienza con -, el final de la línea de comando o el terminador de lista @ (un argumento que es solo @). Entonces lo anterior se puede dar como:

zip -i  *. c @ -r foo.

…por ejemplo. Debe haber un espacio entre la opción y el primer archivo de una lista. Para un solo archivo, puede usar el formulario de valor único:

zip -i  *. c -r foo.

(sin espacio entre la opción y el valor) o:

zip --include =  *. c -r foo.

… como ejemplos adicionales. No se recomiendan los formularios de valor único porque pueden ser confusos y, en particular, el formato de archivo puede causar problemas si la primera letra del archivo se combina con i para formar una opción de dos letras que comienza con i. Use -sc para ver cómo se analizará su línea de comando. También es posible:

zip -r foo. [correo electrónico protegido]

… que solo incluirá los archivos en el directorio actual y sus subdirectorios que coincidan con los patrones en el archivo include.lst. Los archivos a -i y -x son patrones que coinciden con las rutas de archivo internas. Ver -R para más información sobre patrones.

-I, –no-imagen En Acorn RISC OS, esta opción le indica a zip que no escanee a través de archivos de imagen. Cuando se usa, zip no considerará los archivos de imagen (por ejemplo, particiones de DOS o archivos de Spark cuando se carga SparkFS) como directorios, pero los almacenará como archivos individuales. Por ejemplo, si tiene SparkFS cargado, comprimir un archivo Spark dará como resultado un archivo zip que contiene un directorio (y su contenido) mientras que la opción 'I' dará como resultado un archivo zip que contenga un archivo Spark. Obviamente, este segundo caso también se obtendrá (sin la opción 'I') si SparkFS no está cargado.
-ic, –ignore-case En los sistemas VMS o Windows, ignore las mayúsculas y minúsculas cuando coincida con las entradas de archivo. Esta opción solo está disponible en sistemas donde se ignora el caso de los archivos. En los sistemas con sistemas de archivos que no distinguen entre mayúsculas y minúsculas, el caso normalmente se ignora al hacer coincidir archivos en el sistema de archivos, pero no se ignora para los modos -f (refrescar), -d (eliminar), -U (copiar) y similares cuando se compara con el archivo entradas (actualmente -f ignora mayúsculas y minúsculas en VMS) porque las entradas de archivo pueden ser de sistemas en los que el caso sí importa y los nombres que son iguales excepto por caso pueden existir en un archivo. La opción -ic hace que todas las mayúsculas y minúsculas no sean sensibles. Esta opción puede generar múltiples entradas de archivo que coinciden con un patrón de línea de comando.
-j, –junk-caminos Almacene solo el nombre de un archivo guardado (sin la ruta) y no almacene los nombres de directorio. Por defecto, zip almacenará la ruta completa, relativa al directorio actual.
-jj, –absolute-path En macOS, registre Fullpath (+ Volname). Se almacenará la ruta completa, incluido el volumen. Por defecto, la ruta relativa se almacenará.
-J, –junk-sfx Elimine cualquier dato antepuesto (por ejemplo, un código auxiliar SFX) del archivo.
-k, –DOS-nombres Intente convertir los nombres y las rutas para que se ajusten a MSDOS, almacene solo el atributo MSDOS (solo el atributo de escritura del usuario de Unix) y marque la entrada como realizada en MSDOS (aunque no lo fuera); para compatibilidad con PKUNZIP bajo MSDOS que no puede manejar ciertos nombres como aquellos con dos puntos.
-l, –to-crlf Traduzca el carácter de fin de línea de Unix LF a la convención MSDOS CR LF. Esta opción no debe usarse en archivos binarios. Esta opción se puede usar en Unix si el archivo zip está destinado a PKUNZIP en MSDOS. Si los archivos de entrada ya contienen CR LF, esta opción agrega un CR adicional. Esta opción es para garantizar que descomprimir -a en Unix recupere una copia exacta del archivo original, para deshacer el efecto de zip -l. Consulte -ll para ver cómo se manejan los archivos binarios.
-la, –log-append Anexar al archivo de registro existente. El valor predeterminado es sobrescribir.
-lf logfilepath, –logfile-path logfilepath Abra un archivo de registro en la ruta dada. Por defecto, cualquier archivo existente en esa ubicación se sobrescribe, pero la opción -la hará que se abra un archivo existente y la nueva información de registro se agregue a cualquier información existente. Solo las advertencias y los errores se escriben en el registro a menos que también se proporcione la opción -li, entonces todos los mensajes de información también se escriben en el registro.
-li, –log-info Incluya mensajes de información, como nombres de archivos que se están comprimiendo, en el registro. El valor predeterminado es incluir solo la línea de comando, cualquier advertencia y error, y el estado final.
-ll, –from-crlf Traduzca el MSDOS de fin de línea CR LF a Unix LF. Esta opción no debe usarse en archivos binarios. Esta opción se puede usar en MSDOS si el archivo zip está destinado a descomprimir en Unix. Si el archivo se convierte y luego se determina que el archivo es binario, se emite una advertencia y el archivo probablemente está dañado. En esta versión, si -ll detecta el binario en la primera lectura del búfer de un archivo, zip ahora emite una advertencia y omite la conversión de final de línea en el archivo. Esta comprobación parece detectar todos los archivos binarios probados, pero la comprobación original permanece y si un archivo convertido luego se determina que es binario, esa advertencia aún se emite. Ahora se está utilizando un nuevo algoritmo para la detección binaria que debería permitir la conversión de final de línea de archivos de texto en UTF-8 y codificaciones similares.
-L, – licencia Mostrar la licencia zip.
-m, –move Mueva los archivos especificados al archivo zip; en realidad, esto elimina los directorios / archivos de destino después de hacer el archivo zip especificado. Si un directorio se vacía después de eliminar los archivos, el directorio también se elimina. No se realizan eliminaciones hasta que zip haya creado el archivo sin error. Esta opción es útil para conservar espacio en disco, pero es potencialmente peligrosa, por lo que se recomienda usarla en combinación con -T para probar el archivo antes de eliminar todos los archivos de entrada.
-MM, – debe coincidir Todos los patrones de entrada deben coincidir con al menos un archivo y todos los archivos de entrada encontrados deben ser legibles. Normalmente, cuando un patrón de entrada no coincide con un archivo, se emite la advertencia de "nombre no coincidente" y cuando se encuentra un archivo de entrada pero luego falta o no es legible, se emite una advertencia de falta o no legible. En cualquier caso, zip continúa creando el archivo, omitiendo los archivos nuevos faltantes o ilegibles y los archivos que ya están en el archivo permanecen sin cambios. Después de crear el archivo, si alguno de los archivos no era legible, zip devuelve el código de error ABIERTO (18 en la mayoría de los sistemas) en lugar del retorno de éxito normal (0 en la mayoría de los sistemas). Con -MM configurado, zip sale tan pronto como un patrón de entrada no coincide (siempre que se emita la advertencia "nombre no coincidente") o cuando un archivo de entrada no es legible. En cualquier caso, zip sale con un error ABIERTO y no se crea ningún archivo. Esta opción es útil cuando se debe comprimir una lista conocida de archivos, por lo que cualquier archivo faltante o ilegible dará como resultado un error. Es menos útil cuando se usa con comodines, pero zip seguirá saliendo con un error si algún patrón de entrada no coincide con al menos un archivo y si alguno de los archivos coincidentes es ilegible. Si de todos modos desea crear el archivo y solo necesita saber si se omitieron los archivos, no use -MM y solo verifique el código de retorno. También -lf podría ser útil.
-n sufijos, – sufijos sufijos No intente comprimir archivos nombrados con los sufijos dados. Dichos archivos se almacenan (0% de compresión) en el archivo zip de salida, para que zip no pierda su tiempo tratando de comprimirlos. Los sufijos están separados por dos puntos o punto y coma. Por ejemplo:

zip -rn .Z: .zip: .tiff: .gif: .snd foo foo

copiará todo desde foo a foo.zip, pero almacenará cualquier archivo que termine en .Z, .zip, .tiff, .gif o .snd sin intentar comprimirlos (los archivos de imagen y sonido a menudo tienen sus propios métodos de compresión especializados ) Por defecto, zip no comprime archivos con extensiones en la lista .Z: .zip: .zoo: .arc: .lzh: .arj. Dichos archivos se almacenan directamente en el archivo de salida. La variable de entorno ZIPOPT se puede usar para cambiar las opciones predeterminadas. Por ejemplo, bajo Unix con csh:

setenv ZIPOPT "-n .gif: .zip"

Para intentar la compresión en todos los archivos, use:

zip -n: foo

La opción de compresión máxima -9 también intenta la compresión en todos los archivos, independientemente de la extensión. En los sistemas Acorn RISC OS, los sufijos son en realidad tipos de archivo (formato de 3 dígitos hexadecimales). De forma predeterminada, zip no comprime archivos con tipos de archivo en la lista DDC: D96: 68E (es decir, archivos, archivos CFS y archivos PackDir).

-nw, –no-wild No realice el procesamiento interno de comodines (el procesamiento de shell de comodines todavía lo realiza el shell a menos que se escapen los argumentos). Útil si se lee una lista de rutas y no se desea la sustitución de comodines.
-N, – notas [Amiga, MacOS] Guarde las notas de archivo de Amiga o MacOS como comentarios de archivos zip. Se pueden restaurar utilizando la opción -N de descomprimir. Si también se usa -c, se le solicitarán comentarios solo para aquellos archivos que no tengan notas de archivo.
-o, –último tiempo Establezca el tiempo de "última modificación" del archivo zip en el último (más antiguo) tiempo "última modificación" encontrado entre las entradas en el archivo zip. Esta opción se puede usar sin otras operaciones, si lo desea. Por ejemplo:

zip -o foo

… cambiará la última hora modificada de foo.zip a la última hora de las entradas en foo.zip.

-O archivo de salida, – archivo de salida archivo de salida Procese los cambios de archivo como de costumbre, pero en lugar de actualizar el archivo existente, envíe el nuevo archivo al archivo de salida. Útil para actualizar un archivo sin cambiar el archivo existente y el archivo de entrada debe ser un archivo diferente al archivo de salida. Esta opción se puede usar para crear archivos divididos actualizados. También se puede usar con -U para copiar entradas de un archivo existente a un nuevo archivo. Otro uso es convertir archivos zip de un tamaño dividido a otro. Por ejemplo, para convertir un archivo con divisiones de CD de 700 MB en uno con divisiones de DVD de 2 GB, puede usar:

zip -s 2g cd-split.zip --out dvd-split.zip

… que usa el modo de copia. Ver -U a continuación. También:

zip -s 0 split.zip --out unsplit.zip

… convertirá un archivo dividido en un archivo de un solo archivo. El modo de copia convertirá las entradas de flujo (usando descriptores de datos y que deberían ser compatibles con la mayoría de los descomprimidos) a entradas normales (que deberían ser compatibles con todos los descomprimidos), excepto si se utilizó el cifrado estándar. Para archivos con entradas cifradas, zipcloak descifrará las entradas y las convertirá en entradas normales.

-p, –paths Incluya rutas de archivos relativas como parte de los nombres de los archivos almacenados en el archivo. Esta opción es la predeterminada. La opción -j desecha las rutas y solo almacena los nombres de los archivos.
-P contraseña, – contraseña contraseña Use la contraseña para cifrar las entradas del archivo zip (si las hay). ESTO ES INSEGURO! Muchos sistemas operativos multiusuario proporcionan formas para que cualquier usuario vea la línea de comando actual de cualquier otro usuario; Incluso en los sistemas independientes siempre existe la amenaza de mirar por encima del hombro. Almacenar la contraseña de texto sin formato como parte de una línea de comando en un script automatizado es aún peor. Siempre que sea posible, use el mensaje interactivo sin eco para ingresar contraseñas. (Y donde la seguridad es realmente importante, use un cifrado fuerte como Pretty Good Privacy en lugar del cifrado estándar relativamente débil proporcionado por las utilidades de archivos zip).
-q, –quiet Modo silencioso; Eliminar mensajes informativos y mensajes de comentarios. (Útil, por ejemplo, en scripts de shell y tareas en segundo plano).
-r, –recurse-caminos Recorre la estructura del directorio de forma recursiva; por ejemplo:

zip -r foo.zip foo

o más concisamente

zip -r foo foo

En este caso, todos los archivos y directorios en foo se guardan en un archivo llamado foo.zip, incluidos los archivos con nombres que comienzan con ".", Ya que la recursión no utiliza el mecanismo de sustitución de nombre de archivo del shell. Si desea incluir solo un subconjunto específico de los archivos en el directorio foo y sus subdirectorios, use la opción -i para especificar el patrón de archivos que se incluirán. No debe usar -r con el nombre ". *", Ya que coincide con "..", que intentará comprimir el directorio principal (probablemente no sea lo que se pretendía). Se permiten múltiples directorios de origen:

zip -r foo foo1 foo2

… que primero comprime foo1 y luego foo2, bajando por cada directorio. Tenga en cuenta que, si bien los comodines para -r se resuelven normalmente mientras se repiten los directorios en el sistema de archivos, cualquier comodín -R, -x e -i se aplica a los nombres de ruta de archivo internos una vez que se escanean los directorios. Para que los comodines se apliquen a los archivos en subdirectorios cuando se recurre en Unix y sistemas similares donde el shell realiza la sustitución de comodines, puede escapar de todos los comodines o poner todos los argumentos con comodines entre comillas. Esto permite que zip vea los comodines y los archivos de coincidencia en subdirectorios usándolos a medida que se repiten.

-R, –recurse-patterns Recorre la estructura del directorio recursivamente comenzando en el directorio actual; por ejemplo:

zip -R foo "* .c"

En este caso, todos los archivos que coinciden con * .c en el árbol que comienza en el directorio actual se almacenan en un archivo zip llamado foo.zip. Tenga en cuenta que * .c coincidirá con file.c, a / file.c y a / b / .c. Se puede enumerar más de un patrón como argumentos separados. Nota para usuarios de PKZIP: el comando equivalente es

pkzip -rP foo * .c

Los patrones son rutas de archivos relativas tal como aparecen en el archivo, o aparecerán después de comprimir, y pueden tener comodines opcionales en ellos. Por ejemplo, dado que el directorio actual es foo y debajo de él están los directorios foo1 y foo2 y en foo1 está el archivo bar.c,

zip -R foo / *

… comprimirá foo, foo / foo1, foo / foo1 / bar.c y foo / foo2.

zip -R * / bar.c

… se cerrará foo / foo1 / bar.c. Consulte la nota para -r sobre comodines de escape.

-RE, –regex [WIN32] Antes de zip 3.0, la coincidencia de la lista de expresiones regulares estaba habilitada de forma predeterminada en las plataformas de Windows. Debido a la confusión resultante de la necesidad de escapar de "[" y "]" en los nombres, ahora está desactivado por defecto para Windows, por lo que "[" y "]" son solo caracteres normales en los nombres. Esta opción habilita la coincidencia [] nuevamente.
-s dividido, – tamaño dividido dividido Habilite la creación de un archivo dividido y configure el tamaño de división. Un archivo dividido es un archivo que podría dividirse en muchos archivos. A medida que se crea el archivo, si el tamaño del archivo alcanza el tamaño de división especificado, esa división se cierra y se abre la siguiente división. En general, todas las divisiones, pero la última será el tamaño de división y la última será lo que quede. Si todo el archivo es más pequeño que el tamaño de división, se crea un archivo de un solo archivo. Los archivos divididos se almacenan en archivos numerados. Por ejemplo, si el archivo de salida se denomina archivo y se requieren tres divisiones, el archivo resultante estará en los tres archivos archive.z01, archive.z02 y archive.zip. No cambie la numeración de estos archivos o el archivo no será legible ya que se usan para determinar el orden en que se leen las divisiones. El tamaño dividido es un número seguido opcionalmente por un multiplicador. Actualmente el número debe ser un número entero. El multiplicador actualmente puede ser uno de k (kilobytes), m (megabytes), g (gigabytes) o t (terabytes). Como 64 k es el tamaño mínimo de división, los números sin multiplicadores predeterminan a megabytes. Por ejemplo, para crear un archivo dividido llamado foo con los contenidos del directorio de barras con divisiones de 670 MB que podrían ser útiles para grabar en CD, el comando:

zip -s 670m -r foo bar

puede ser usado. Actualmente, las divisiones antiguas de un archivo dividido no se excluyen de un archivo nuevo, pero se pueden excluir específicamente. Si es posible, mantenga los archivos de entrada y salida fuera de la ruta que se está comprimiendo al crear archivos divididos. El uso de -s sin -sp como el anterior crea todas las divisiones donde se está escribiendo foo, en este caso el directorio actual. Este modo dividido actualiza las divisiones a medida que se crea el archivo, lo que requiere que todas las divisiones permanezcan grabables, pero crea archivos divididos que pueden ser leídos por cualquier descompresión que admita archivos divididos. Consulte -sp a continuación para habilitar el modo de pausa dividida que permite que las divisiones se escriban directamente en medios extraíbles. La opción -sv se puede utilizar para habilitar la división detallada y proporcionar detalles de cómo se está realizando la división. La opción -sb se puede usar para hacer sonar la campana cuando zip se detiene para el próximo destino dividido. Los archivos divididos no se pueden actualizar, pero vea la opción -O (–out) para ver cómo se puede actualizar un archivo dividido a medida que se copia en un nuevo archivo. Un archivo dividido también se puede convertir en un archivo de un solo archivo usando un tamaño dividido de 0 o negando la opción -s:

zip -s 0 split.zip --out single.zip

Consulte también -U (–copy) para obtener más información sobre el uso del modo de copia.

-sb, -split-bell Si se divide y utiliza el modo de pausa dividida, toque el timbre cuando el zip se detenga para cada destino dividido.
-sc, –show-command Muestre la línea de comando comenzando zip como procesada y salga. El nuevo analizador de comandos permuta los argumentos, colocando todas las opciones y los valores asociados con ellos antes de cualquier argumento que no sea una opción, lo que permite que aparezca una opción en cualquier lugar de la línea de comando siempre que los valores que van con la opción va con ella. Esta opción muestra la línea de comando como la ve zip, incluidos los argumentos del entorno, como la variable ZIPOPT. Donde esté permitido, las opciones posteriores en la línea de comando pueden anular las opciones anteriores en la línea de comando.
-sf, –show-files Muestre los archivos que serían operados, luego salga. Por ejemplo, si crea un nuevo archivo, esto mostrará una lista de los archivos que se agregarán. Si la opción está negada (-sf-), solo se envía a un archivo de registro abierto. La visualización en pantalla no se recomienda para listas grandes.
-so, –show-options Muestra todas las opciones disponibles compatibles con zip compiladas en el sistema actual. Como este comando lee la tabla de opciones, debe incluir todas las opciones. Cada línea incluye la opción corta (si está definida), la opción larga (si está definida), el formato de cualquier valor que vaya con la opción, si la opción se puede negar, y una pequeña descripción. El formato del valor puede ser sin valor, valor requerido, valor opcional, valor de un solo carácter, valor numérico o una lista de valores. El resultado de esta opción no pretende mostrar cómo usar cualquier opción, sino solo mostrar qué opciones están disponibles.
-sp, –split-pause Si la división está habilitada con -s, habilite el modo de pausa dividida. Esta opción crea archivos divididos como -s, pero se utiliza la escritura continua para que cada división se pueda cerrar tan pronto como se escriba y zip pausará entre cada división para permitir cambiar el destino o los medios de división. Aunque este modo dividido permite escribir divisiones directamente en medios extraíbles, utiliza un formato de archivo continuo que algunos archivos descomprimidos no pueden leer. Antes de confiar en las divisiones creadas con -sp, pruebe un archivo dividido con la descompresión que utilizará. Para convertir un archivo dividido de flujo (creado con -sp) en un archivo estándar, vea la opción –out.
-su, –show-unicode Como -sf, pero también muestra la versión Unicode de la ruta si existe.
-sU, –show-just-unicode Como -sf, pero solo muestra la versión Unicode de la ruta si existe, de lo contrario muestra la versión estándar de la ruta.
-sv, –split-verbose Habilite varios mensajes detallados mientras se divide, mostrando cómo se realiza la división.
-S, –sistema-oculto Incluye sistema y archivos ocultos. En MacOS, incluye archivos invisibles del buscador, que de lo contrario se ignoran.
-t mmddyyyy, –from-date mmddyyyy No opere en archivos modificados antes de la fecha especificada, donde mm es el mes (00-12), dd es el día del mes (01-31) e aaaa es el año. También se acepta el formato de fecha ISO 8601 aaaa-mm-dd. Por ejemplo:

zip -rt 12071991 infamia foo
zip -rt 1991-12-07 infamia foo

… agregará todos los archivos en foo y sus subdirectorios que se modificaron por última vez el 7 de diciembre de 1991 o después, al archivo zip infamy.zip.

-tt mmddyyyy, – antes de la fecha mmddyyyy No opere en archivos modificados después o en la fecha especificada, donde mm es el mes (00-12), dd es el día del mes (01-31), y aaaa es el año. También se acepta el formato de fecha ISO 8601 aaaa-mm-dd. Por ejemplo:

zip -rtt 11301995 infamia foo
zip -rtt 1995-11-30 infamia foo

… agregará todos los archivos en foo y sus subdirectorios que se modificaron por última vez antes del 30 de noviembre de 1995, al archivo zip infamy.zip.

-T, –test Probar la integridad del nuevo archivo zip. Si la verificación falla, el archivo zip anterior no cambia y (con la opción -m) no se eliminan los archivos de entrada.
-TT cmd, –unzip-command cmd Use el comando cmd en lugar de 'descomprimir -tqq' para probar un archivo cuando se usa la opción -T. En Unix, para usar una copia de descomprimir en el directorio actual en lugar de descomprimir el sistema estándar, podría usar:

archivo zip archivo1 archivo2 -T -TT "./unzip -tqq"

En cmd, {} se reemplaza por el nombre del archivo temporal; de lo contrario, el nombre del archivo se agrega al final del comando. El código de retorno se verifica para tener éxito (0 en Unix).

-u, –update Reemplace (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. Por ejemplo:

zip -u cosas *

… agregará todos los archivos nuevos en el directorio actual y actualizará los archivos que se hayan modificado desde la última vez que se creó / modificó el archivo zip stuff.zip (tenga en cuenta que zip no intentará empacar stuff.zip en sí mismo cuando lo haga esta). Tenga en cuenta que la opción -u sin argumentos de archivo de entrada actúa como la opción -f (refrescar).

-U, –copiar-entradas Copie entradas de un archivo a otro. Requiere la opción –out para especificar un archivo de salida diferente al archivo de entrada. El modo de copia es el reverso de -d (eliminar). Cuando se usa eliminar con –out, las entradas seleccionadas se eliminan del archivo y todas las demás entradas se copian en el nuevo archivo, mientras que el modo de copia selecciona los archivos para incluir en el nuevo archivo. A diferencia de -u (actualización), los patrones de entrada en la línea de comando solo coinciden con las entradas de archivo y no con los archivos del sistema de archivos. Por ejemplo,

zip inarchive "* .c" --copy --out outarchive

… copia entradas con nombres que terminan en .c de inarchive a outarchive. El comodín debe escaparse en algunos sistemas para evitar que el shell sustituya los nombres de los archivos del sistema de archivos que pueden no tener relevancia para las entradas en el archivo. Si no aparecen archivos de entrada en la línea de comando y se utiliza –out, se supone el modo de copia:

zip inarchive --out outarchive

Esta opción es útil para cambiar el tamaño de división, por ejemplo. Cifrar y descifrar entradas aún no es compatible con el modo de copia. Usa zipcloak para eso.

-UN v, –unicode v Determine qué debe hacer zip con los nombres de archivo Unicode. zip 3.0, además de la ruta de archivo estándar, ahora incluye la traducción UTF-8 de la ruta si la ruta de entrada no es completamente ASCII de 7 bits. Cuando falta una entrada en la ruta Unicode, zip vuelve a la ruta estándar del archivo. El problema con el uso de la ruta estándar es que esta ruta está en el juego de caracteres local del zip que creó la entrada, que puede contener caracteres que no son válidos en el juego de caracteres que está usando el descomprimir. Cuando zip está leyendo un archivo, si una entrada también tiene una ruta Unicode, zip ahora usa de manera predeterminada la ruta Unicode para recrear la ruta estándar usando el juego de caracteres local actual. Esta opción se puede usar para determinar qué debe hacer zip con esta ruta si hay una falta de coincidencia entre la ruta estándar almacenada y la ruta UTF-8 almacenada (lo que puede suceder si la ruta estándar se actualizó). En todos los casos, si hay una falta de coincidencia, se supone que la ruta estándar es más actual y zip la usa. Los valores para v son

q salir si las rutas no coinciden
w advertir, continuar con la ruta estándar
i ignorar, continuar con la ruta estándar
n no Unicode, no use rutas Unicode

El valor predeterminado es advertir y continuar. Los caracteres que no son válidos en el conjunto de caracteres actual se escapan como #Uxxxx y #Lxxxxxx, donde x es un carácter ASCII para un dígito hexadecimal. El primero se usa si un número de caracteres de 16 bits es suficiente para representar el carácter Unicode y el segundo si el carácter necesita más de 16 bits para representar su código de caracteres Unicode. Establecer -UN en

e escapar

como en:

archivo zip -sU -UN = e

… obliga a zip a escapar de todos los caracteres que no son ASCII de 7 bits imprimibles. Normalmente, zip almacena UTF-8 directamente en el campo de ruta estándar en sistemas donde UTF-8 es el juego de caracteres actual y, de lo contrario, almacena UTF-8 en los nuevos campos adicionales. La opción

u UTF-8

como en

archivo zip dir -r -UN = UTF8

… obliga a zip a almacenar UTF-8 como nativo en el archivo. Tenga en cuenta que almacenar UTF-8 directamente es el valor predeterminado en los sistemas Unix que lo admiten. Esta opción podría ser útil en sistemas Windows donde la ruta de escape es demasiado grande para ser una ruta válida y la versión UTF-8 de la ruta es más pequeña, pero UTF-8 nativo no es compatible con versiones anteriores en sistemas Windows.

-v, –verbose Modo detallado o imprimir información de la versión de diagnóstico. Normalmente, cuando se aplica a operaciones reales, esta opción permite la visualización de un indicador de progreso durante la compresión (consulte -dd para obtener más información sobre los puntos) y solicita información de diagnóstico detallada sobre las rarezas de la estructura del archivo zip. Sin embargo, cuando -v es el único argumento de línea de comando, se imprime una pantalla de diagnóstico. Esto ahora debería funcionar incluso si stdout se redirige a un archivo, lo que permite guardar fácilmente la información para enviarla con informes de errores a Info-ZIP. La pantalla de la versión proporciona el encabezado de la pantalla de ayuda con el nombre del programa, la versión y la fecha de lanzamiento, algunos indicadores sobre los sitios de inicio y distribución de Info-ZIP, y muestra información sobre el entorno de destino (tipo y versión del compilador, versión del sistema operativo, fecha de compilación y características opcionales habilitadas utilizadas para crear el archivo ejecutable zip).
-V, –VMS-portable En VMS, guarde los atributos del archivo VMS. (Los archivos se truncan en EOF). Cuando un archivo -V se desempaqueta en un sistema que no es VMS, algunos tipos de archivos (especialmente archivos de texto Stream_LF y archivos binarios puros como fixed-512) deben extraerse intactos. Los archivos indexados y los tipos de archivo con tamaños de registro incrustados (especialmente los tipos de registro de longitud variable) probablemente se verán como corruptos en otros lugares.
-VV, -VMS específico En VMS, guarde los atributos del archivo VMS y todos los bloques asignados en un archivo, incluidos los datos más allá de EOF. Útil para mover archivos mal formados entre sistemas VMS. Cuando se descomprime un archivo -VV en un sistema que no es VMS, casi todos los archivos aparecerán corruptos.
-w, –VMS-versiones En VMS, agregue el número de versión de los archivos al nombre, incluidas varias versiones de archivos. El valor predeterminado es usar solo la versión más reciente de un archivo especificado.
-ww, –VMS-punto-versiones En VMS, agregue el número de versión de los archivos al nombre, incluidas varias versiones de archivos, utilizando el formato .nnn. El valor predeterminado es usar solo la versión más reciente de un archivo especificado.
-ws, –wild-stop-dirs Los comodines solo coinciden a nivel de directorio. Normalmente zip maneja rutas como cadenas y dadas las rutas

/foo/bar/dir/file1.c/foo/bar/file2.c

un patrón de entrada como

/ foo / bar / *

Normalmente coincidiría con ambas rutas, * dir / file1.c y file2.c coincidentes. Tenga en cuenta que en el primer caso se cruzó un límite de directorio (/) en la coincidencia. Con -ws no se incluirán límites de directorio en la coincidencia, lo que hace que los comodines sean locales a un nivel de directorio específico. Entonces, con -ws habilitado, solo la segunda ruta coincidiría. Cuando use -ws, use ** para hacer coincidir los límites del directorio como * lo hace normalmente.

-x archivos, –excluir archivos Excluir explícitamente los archivos especificados, como en:

zip -r foo foo -x  *. o

… que incluirá el contenido de foo en foo.zip y excluirá todos los archivos que terminen en .o. La barra diagonal inversa evita la sustitución del nombre del archivo de shell, por lo que la coincidencia de nombre se realiza mediante zip en todos los niveles de directorio. También es posible:

zip -r foo foo [correo electrónico protegido]

… que incluirá el contenido de foo en foo.zip y excluirá todos los archivos que coincidan con los patrones del archivo exclude.lst. Las formas de opciones largas de lo anterior son

zip -r foo foo --excluir  *. o

y

zip -r foo foo --excluir @ exclude.lst

Se pueden especificar múltiples patrones, como en:

zip -r foo foo -x  *. o  *. c

Si no hay espacio entre -x y el patrón, solo se supone un valor (sin lista):

zip -r foo foo -x  *. o

Vea -i para más información sobre incluir y excluir.

-X, –no-extra No guarde atributos de archivo adicionales (Atributos extendidos en OS / 2, uid / gid y tiempos de archivo en Unix). El formato zip utiliza campos adicionales para incluir información adicional para cada entrada. Algunos campos adicionales son específicos de sistemas particulares, mientras que otros son aplicables a todos los sistemas. Normalmente, cuando zip lee las entradas de un archivo existente, lee los campos adicionales que conoce, elimina el resto y agrega los campos adicionales aplicables a ese sistema. Con -X, zip elimina todos los campos antiguos y solo incluye los campos adicionales Unicode y Zip64 (actualmente estos dos campos adicionales no se pueden deshabilitar). Negar esta opción, -X-, incluye todos los campos adicionales predeterminados, pero también copia sobre cualquier campo adicional no reconocido.
-y, –symlinks Para UNIX y VMS (V8.3 y posterior), almacene enlaces simbólicos como tales en el archivo zip, en lugar de comprimir y almacenar el archivo al que hace referencia el enlace. Esta opción puede evitar que se incluyan múltiples copias de archivos en el archivo, ya que zip vuelve a recurrir a los árboles de directorio y accede a los archivos directamente y por enlaces.
-z, –archivo-comentario Solicite un comentario de varias líneas para todo el archivo zip. El comentario finaliza con una línea que contiene solo un punto o una condición de fin de archivo (^ D en Unix, ^ Z en MSDOS, OS / 2 y VMS). El comentario puede tomarse de un archivo:

zip -z foo <foowhat
-Z cm, – método de compresión cm Establece el método de compresión predeterminado. Actualmente, los principales métodos admitidos por zip son almacenar y desinflar. El método de compresión se puede establecer en:

store Establecer el método de compresión para almacenar fuerza a zip a almacenar entradas sin compresión. Este método generalmente es más rápido que comprimir entradas, pero no permite ahorrar espacio. Este método es el mismo que usar -0 (nivel de compresión cero).
desinflar Este método es el método predeterminado para zip. Si zip determina que el almacenamiento es mejor que la deflación, la entrada se almacenará en su lugar.
bzip2 Si se compila el soporte bzip2, este método de compresión también estará disponible. Actualmente, solo algunos archivos descomprimidos modernos admiten el método de compresión bzip2, así que pruebe el archivo descomprimido que usará antes de confiar en los archivos que utilizan este método (método de compresión 12).

Por ejemplo, para agregar bar.c al archivo foo usando la compresión bzip2:

zip -Z bzip2 foo bar.c

El método de compresión se puede abreviar:

zip -Zb foo bar.c
-# Regule la velocidad de compresión utilizando el número de dígito especificado, entre 0 y 9, donde -0 indica que no hay compresión (almacenar todos los archivos), -1 indica la velocidad de compresión más rápida (menos compresión) y -9 indica la velocidad de compresión más lenta (compresión óptima , ignora la lista de sufijos). El nivel de compresión predeterminado es -6. Aunque todavía se está trabajando, la intención es que esta configuración controle la velocidad de compresión para todos los métodos de compresión. Actualmente solo se controla la deflación.
– !, –usuario-privilegios En Windows, use privilegios (si se otorgan) para obtener todos los aspectos de la seguridad de WinNT.
[correo electrónico protegido], –names-stdin Tome la lista de archivos de entrada de la entrada estándar. Solo un nombre de archivo por línea.
– $, – etiqueta de volumen Incluya la etiqueta de volumen para la unidad que contiene el primer archivo a comprimir. Si desea incluir solo la etiqueta de volumen o forzar una unidad específica, use el nombre de la unidad como primer nombre de archivo, como en:

zip - $ foo a: c: bar

Medio Ambiente

zip utiliza las siguientes variables de entorno:

ZIPOPT Contiene opciones predeterminadas que se usarán cuando se ejecute zip. El contenido de esta variable de entorno se agregará a la línea de comando justo después del comando zip.
Código postal Un alias para ZIPOPT, excepto en RISC OS y VMS.

En Risc y VMS, hay variables de entorno especiales adicionales; Consulte su documentación para más detalles.

Ejemplos

cremallera *

Crea el archivo stuff.zip (suponiendo que no exista) y coloca todos los archivos en el directorio actual, en forma comprimida (el sufijo .zip se agrega automáticamente, a menos que el nombre del archivo ya contenga un punto; esto permite lo explícito especificación de otros sufijos).

cosas zip. * *

Lo mismo que el comando anterior, pero también incluye archivos que comienzan con un punto (excepto los nombres de directorio especiales "." Y "..".

zip -r foo foo

Comprime todo el subdirectorio foo en un archivo, foo.zip, y registra el nombre del directorio con cada archivo.

zip -j foo foo / *

Igual que el comando anterior, pero a diferencia de -r, la opción -j no registrará el nombre del directorio, solo los nombres de los propios archivos.

zip -s 2g -r split.zip foo

Crea un archivo dividido del directorio foo con divisiones no mayores de 2 GB cada una. Si foo contenía 5 GB de contenido y los contenidos se almacenaron en el archivo dividido sin compresión (para simplificar este ejemplo), esto crearía tres divisiones, split.z01 a 2 GB, split.z02 a 2 GB y split.zip a poco más de 1 GB.

Comandos relacionados

compress: comprime un archivo o files.tar: crea, modifica, enumera el contenido y extrae archivos de tar archives.unzip: enumera, prueba y extrae archivos comprimidos en un archivo zip.gzip, gunzip, zcat: crea, modifica, listar el contenido y extraer archivos de GNU zip archives.zipinfo: muestra información técnica sobre un archivo zip.

#goog-gt-tt {display:none !important;}.goog-te-banner-frame {display:none !important;}.goog-te-menu-value:hover {text-decoration:none !important;}body {top:0 !important;}#gtranslate_element {display:none!important;}

var gt_not_translated_list = [«zip -r foo.zip foo»,»zip -r foo foo»,»zip inarchive.zip foo.c bar.c –out outarchive.zip»,»-a, –ascii»,»-A, –adjust-sfx»,»-AC, –archive-clear»,»–temp-path path»,»–entry-comments»,»-d, –delete»,»-db, –display-bytes»,»-dd, –display-dots»,»-df, –datafork»,»-dg, –display-globaldots»,»zip -qdgds 10m»,»-ds size, –dot-size size»,»-du, –display-usize»,»-dv, –display-volume»,»-DF, –difference-archive»,»-f, –freshen»,»zip -f foo»,»-F, –fix, -FF, –fixfix»,»zip -F foo –out foofix»,»zip -FF foo –out foofixfix»,»-FI, –fifo»,»-FS, –filesync»,»-ic, –ignore-case»,»-jj, –absolute-path»,»-J, –junk-sfx»,»-l, –to-crlf»,»-la, –log-append»,»-lf logfilepath,»,»–logfile-path logfilepath»,»-li, –log-info»,»-ll, –from-crlf»,»-m, –move»,»-nw, –no-wild»,»zip -o foo»,»zip -s 2g cd-split.zip –out dvd-split.zip»,»zip -s 0 split.zip –out unsplit.zip»,»-p, –paths»,»zip -r foo foo1 foo2″,»-R, –recurse-patterns»,»-RE, –regex»,»zip -s 670m -r foo bar»,»zip -s 0 split.zip –out single.zip»,»-sc, –show-command»,»-sf, –show-files»,»-so, –show-options»,»-sp, –split-pause»,»-su, –show-unicode»,»-sU, –show-just-unicode»,»-sv, –split-verbose»,»-t mmddyyyy, –from-date mmddyyyy»,»-tt mmddyyyy,»,»-T, –test»,»-TT cmd,»,»–unzip-command cmd»,»-u, –update»,»zip inarchive –out outarchive»,»-UN v, –unicode v»,»-V, –VMS-portable»,»-ws, –wild-stop-dirs»,»/foo/bar/dir/file1.c/foo/bar/file2.c»,»-X, –no-extra»,»-y, –symlinks»,»-Z cm,»,»zip -Z bzip2 foo bar.c»,»zip -Zb foo bar.c»,»ZIPOPT»,»zip -s 2g -r split.zip foo»];
document.cookie = «googtrans=/en/es; domain=.balogs.xyz»;
document.cookie = «googtrans=/en/es»;
function GTranslateElementInit() {new google.translate.TranslateElement({pageLanguage: ‘en’,layout: google.translate.TranslateElement.InlineLayout.SIMPLE,autoDisplay: false,multilanguagePage: true}, ‘gtranslate_element’);}