Manuels pour la ligne de commande

Man » Manuel unzip en ligne - documentation en ligne détaillée pour la page de manuel unzip

🌍
unzip - afficher la liste des fichiers, tester et extraire les fichiers compressés d'une archive ZIP

SYNTAXE

unzip   [-Z]   [-cflptTuvz[abjnoqsCDKLMUVWX$/:^]]   file[.zip]  [file(s) ...]   [-x xfile(s) ...]
[-d exdir]

DESCRIPTION

unzip permet d'afficher la liste des fichiers, de tester ou d'extraire les fichiers d'une archive ZIP, couramment utilisée sur les systèmes MS-DOS.

Le comportement par défaut (sans options) consiste à extraire tous les fichiers de l'archive ZIP spécifiée dans le répertoire courant (et dans les sous-répertoires situés en dessous). Un programme compagnon, zip(1), crée les archives ZIP ; les deux programmes sont compatibles avec les archives créées par PKWARE's PKZIP et PKUNZIP pour MS-DOS, mais dans de nombreux cas, les options ou les comportements par défaut des programmes diffèrent.

ARGUMENTS

file[.zip]

Chemin d'accès à l'archive ZIP. Si la spécification de fichier est un caractère générique, chaque fichier correspondant est traité dans un ordre déterminé par le système d'exploitation (ou le système de fichiers). Seul le nom de fichier peut être un caractère générique ; le chemin d'accès lui-même ne peut pas l'être. Les expressions de caractères génériques sont similaires à celles prises en charge dans les shells Unix courants (sh, ksh, csh) et peuvent contenir :

*      correspond à une séquence de 0 ou plusieurs caractères

?      correspond exactement à 1 caractère

[...]  correspond à n'importe quel caractère unique trouvé dans les crochets ; les plages sont spécifiées par un caractère de début, un tiret et un caractère de fin. Si un point d'exclamation ou un accent circonflexe (`!' ou `^') suit le crochet gauche, la plage de caractères à l'intérieur des crochets est complétée (c'est-à-dire que tout sauf les caractères à l'intérieur des crochets est considéré comme une correspondance). Pour spécifier un crochet gauche littéral, la séquence de trois caractères ``[[]'' doit être utilisée.

(Veillez à mettre entre guillemets tout caractère qui pourrait autrement être interprété ou modifié par le système d'exploitation, en particulier sous Unix et VMS.) S'il n'y a pas de correspondances, la spécification est supposée être un nom de fichier littéral ; et si cela échoue également, le suffixe .zip est ajouté. Notez que les fichiers ZIP auto-extractibles sont pris en charge, comme tout autre fichier ZIP ; il suffit de spécifier explicitement le suffixe .exe (le cas échéant).

[file(s)]

Une liste facultative des membres d'archive à traiter, séparés par des espaces. (Les versions VMS compilées avec VMSCLI défini doivent délimiter les fichiers par des virgules. Voir l'option -v dans les OPTIONS ci-dessous.) Les expressions régulières (caractères génériques) peuvent être utilisées pour faire correspondre plusieurs membres ; voir ci-dessus. Veillez à nouveau à mettre entre guillemets les expressions qui seraient autrement développées ou modifiées par le système d'exploitation.

[-x xfile(s)]
Une liste facultative des membres d'archive à exclure du traitement. Étant donné que les caractères génériques correspondent normalement au séparateur de répertoire (`/'), cette option peut être utilisée pour exclure tous les fichiers qui se trouvent dans des sous-répertoires. Par exemple, ``unzip foo *.[ch] -x */*'' extrairait tous les fichiers sources C du répertoire principal, mais aucun dans les sous-répertoires. Sans l'option -x, tous les fichiers sources C de tous les répertoires de l'archive zip seraient extraits.

[-d exdir]

Un répertoire optionnel dans lequel extraire les fichiers. Par défaut, tous les fichiers et sous-répertoires sont recréés dans le répertoire courant ; l'option -d permet l'extraction dans un répertoire arbitraire (en supposant toujours que l'on a la permission d'écrire dans ce répertoire). Cette option n'a pas besoin d'apparaître à la fin de la ligne de commande ; elle est également acceptée avant la spécification du fichier zip, immédiatement après la spécification du fichier zip, ou entre le(s) fichier(s) et l'option -x. L'option et le répertoire peuvent être concaténés sans espace entre eux, mais notez que cela peut supprimer le comportement normal du shell. En particulier, -d ~'' (tilde) est étendu par les shells C Unix en nom de répertoire personnel de l'utilisateur, mais-d~'' est traité comme un sous-répertoire littéral ``~'' du répertoire courant.

OPTIONS

Notez que, afin de prendre en charge le matériel obsolète, l'écran d'utilisation d'unzip est limité à 22 ou 23 lignes et doit donc être considéré comme un simple rappel de la syntaxe de base d'unzip plutôt qu'une liste exhaustive de tous les indicateurs possibles. La liste exhaustive suit :

-Z     Mode zipinfo(1). Si la première option sur la ligne de commande est -Z, les options restantes sont considérées comme des options zipinfo(1). Consultez la page de manuel appropriée pour une description de ces options.

-A     [OS/2, DLL Unix] affiche l'aide détaillée pour l'API (interface de programmation) de la DLL.

-c     Extrait les fichiers vers stdout/écran (« CRT »). Cette option est similaire à l'option -p, sauf que le nom de chaque fichier est affiché lors de son extraction, l'option -a est autorisée et la conversion ASCII-EBCDIC est automatiquement effectuée si nécessaire. Cette option n'est pas répertoriée dans l'écran d'utilisation d'unzip.

-f     Met à jour les fichiers existants, c'est-à-dire qu'elle extrait uniquement les fichiers qui existent déjà sur le disque et qui sont plus récents que les copies du disque. Par défaut, unzip interroge avant d'écraser, mais l'option -o peut être utilisée pour supprimer les requêtes. Notez que, sous de nombreux systèmes d'exploitation, la variable d'environnement TZ doit être correctement définie afin que les options -f et -u fonctionnent correctement (sous Unix, la variable est généralement définie automatiquement). Les raisons de ceci sont quelque peu subtiles, mais elles sont liées aux différences entre les heures de fichier au format DOS (toujours l'heure locale) et les heures au format Unix (toujours en GMT/UTC) et à la nécessité de comparer les deux. Une valeur TZ typique est « PST8PDT » (heure du Pacifique des États-Unis avec ajustement automatique pour l'heure d'été).

-l     liste les fichiers d'archive (format court). Les noms, les tailles de fichiers décompressées et les dates et heures de modification des fichiers spécifiés sont affichés, ainsi que les totaux pour tous les fichiers spécifiés. Si UnZip a été compilé avec OS2_EAS défini, l'option -l affiche également les colonnes pour les tailles des attributs étendus OS/2 (EA) et des listes de contrôle d'accès (ACL) OS/2 stockées.
De plus, le commentaire du fichier zip et les commentaires des fichiers individuels (le cas échéant) sont affichés. Si un fichier a été archivé à partir d'un système de fichiers à une seule casse (par exemple, l'ancien système de fichiers MS-DOS FAT) et que l'option -L a été spécifiée, le nom du fichier est converti en minuscules et est préfixé d'un accent circonflexe (^).

-p     extrait les fichiers vers un flux (stdout). Seules les données du fichier sont envoyées vers stdout, et les fichiers sont toujours extraits au format binaire, comme ils sont stockés (aucune conversion).

-t     teste les fichiers d'archive. Cette option extrait chaque fichier spécifié en mémoire et compare le CRC (vérification de redondance cyclique, une somme de contrôle améliorée) du fichier décompressé avec la valeur CRC stockée du fichier d'origine.

-T     [la plupart des systèmes d'exploitation] définit l'horodatage des archives sur celui du fichier le plus récent de chaque archive. Cela correspond à l'option -go de zip, sauf qu'elle peut être utilisée avec des fichiers zip génériques (par exemple, ``unzip -T \*.zip'') et est beaucoup plus rapide.

-u     met à jour les fichiers existants et crée de nouveaux fichiers si nécessaire. Cette option effectue la même fonction que l'option -f, en extrayant (avec demande de confirmation) les fichiers plus récents que ceux du même nom sur le disque, et en plus, elle extrait les fichiers qui n'existent pas déjà sur le disque. Voir -f ci-dessus pour plus d'informations sur la manière de définir correctement le fuseau horaire.

-v     liste les fichiers d'archive (format détaillé) ou affiche des informations de version de diagnostic. Cette option a évolué et se comporte maintenant à la fois comme une option et comme un modificateur. En tant qu'option, elle a deux objectifs : lorsqu'un fichier zip est spécifié sans autre option, -v liste les fichiers d'archive de manière détaillée, en ajoutant aux informations de base de -l la méthode de compression, la taille compressée, le taux de compression et le CRC 32 bits. Contrairement à la plupart des utilitaires concurrents, unzip supprime les 12 octets d'en-tête supplémentaires des entrées chiffrées des chiffres de taille compressée. Par conséquent, les chiffres de taille compressée et de taux de compression sont indépendants du statut de chiffrement de l'entrée et affichent les performances de compression correctes. (La taille complète du flux de données compressé chiffré pour les entrées de fichier zip est signalée par les rapports plus détaillés de zipinfo(1), voir le manuel séparé.) Lorsqu'aucun fichier zip n'est spécifié (c'est-à-dire que la commande complète est simplement ``unzip -v''), un écran de diagnostic est affiché. En plus de l'en-tête normal avec la date de publication et la version, unzip liste le site FTP principal de Info-ZIP et où trouver une liste d'autres sites FTP et non FTP ; le système d'exploitation cible pour lequel il a été compilé, ainsi que (éventuellement) le matériel sur lequel il a été compilé, le compilateur et la version utilisés, et la date de compilation ; toutes les options de compilation spéciales qui pourraient affecter le fonctionnement du programme (voir également DÉCRYPTAGE ci-dessous) ; et toutes les options stockées dans les variables d'environnement qui pourraient faire de même (voir OPTIONS D'ENVIRONNEMENT ci-dessous). En tant que modificateur, il fonctionne en conjonction avec d'autres options (par exemple, -t) pour produire une sortie plus détaillée ou de débogage ; cela n'est pas encore entièrement mis en œuvre, mais le sera dans les prochaines versions.

-z  affiche uniquement le commentaire de l'archive.

MODIFICATEURS

-a  convertit les fichiers texte. Normalement, tous les fichiers sont extraits tels quels (en tant que fichiers « binaires ». L'option -a fait en sorte que les fichiers identifiés par zip comme fichiers texte (ceux qui ont l'étiquette « t » dans les listes zipinfo, plutôt que « b ») soient automatiquement extraits en tant que tels, en convertissant les fins de ligne, les caractères de fin de fichier et le jeu de caractères lui-même, si nécessaire. (Par exemple, les fichiers Unix utilisent des sauts de ligne (LF) pour la fin de ligne (EOL) et n'ont pas de marqueur de fin de fichier (EOF) ; les Macintosh utilisent des retours chariot (CR) pour les EOL ; et la plupart des systèmes d'exploitation PC utilisent CR+LF pour les EOL et le caractère de contrôle Z pour EOF. De plus, les IBM mainframe et le système Michigan Terminal utilisent EBCDIC plutôt que le jeu de caractères ASCII plus courant, et NT prend en charge Unicode.) Notez que l'identification des fichiers texte par zip n'est en aucun cas parfaite ; certains fichiers « texte » peuvent en fait être binaires, et vice versa. Par conséquent, unzip affiche « [texte] » ou « [binaire] » comme vérification visuelle pour chaque fichier qu'il extrait lors de l'utilisation de l'option -a. L'option -aa force tous les fichiers à être extraits en tant que texte, quel que soit le type de fichier supposé. Sur VMS, voir également -S.

-b  [général] traite tous les fichiers comme binaires (aucune conversion de texte). Ceci est un raccourci pour ---a.

-b  [Tandem] force la création de fichiers avec le type de fichier 180 (« C ») lors de l'extraction des entrées Zip marquées comme « texte ». (Sur Tandem, -a est activé par défaut, voir ci-dessus).

-b  [VMS] convertit automatiquement les fichiers binaires (voir -a ci-dessus) au format d'enregistrement à longueur fixe de 512 octets. Le doublement de l'option (-bb) force tous les fichiers à être extraits dans ce format. Lors de l'extraction vers la sortie standard (l'option -c ou -p est en vigueur), la conversion par défaut des délimiteurs d'enregistrement de texte est désactivée pour les fichiers binaires (-b) ou tous les fichiers (-bb).

-B  [lors de la compilation avec UNIXBACKUP défini] enregistre une copie de sauvegarde de chaque fichier écrasé. Le fichier de sauvegarde reçoit le nom du fichier cible avec un tilde et éventuellement un numéro de séquence unique (jusqu'à 5 chiffres) ajouté. Le numéro de séquence est appliqué chaque fois qu'un autre fichier avec le nom d'origine plus un tilde existe déjà. Lorsqu'il est utilisé conjointement avec l'option « écraser tout » -o, les fichiers de sauvegarde numérotés ne sont jamais créés. Dans ce cas, tous les fichiers de sauvegarde sont nommés comme le fichier d'origine avec un tilde ajouté, les fichiers de sauvegarde existants sont supprimés sans préavis. Cette fonctionnalité fonctionne de la même manière que le comportement par défaut de [emacs]({filename}../../emacs)(1) dans de nombreux environnements.

Exemple : la copie précédente de « foo » est renommée en « foo~ ».

Attention : les utilisateurs doivent être conscients que l'option -B ne permet pas d'empêcher la perte de données existantes dans toutes les circonstances. Par exemple, lorsque unzip est exécuté en mode écrasement, un fichier « foo~ » existant est supprimé avant qu'unzip n'essaie de renommer « foo » en « foo~ ». Lorsque cette tentative de renommage échoue (en raison de verrous de fichiers, de privilèges insuffisants, etc.), l'extraction de « foo~ » est annulée, mais le fichier de sauvegarde précédent est déjà perdu. Un scénario similaire se produit lorsque la plage de numéros de séquence pour les fichiers de sauvegarde numérotés est épuisée (99 999, ou 65 535 pour les systèmes 16 bits). Dans ce cas, le fichier de sauvegarde avec le numéro de séquence maximal est supprimé et remplacé par la nouvelle version de la sauvegarde sans préavis.

-C     utilise la correspondance insensible à la casse pour la sélection des entrées d’archive à partir de la
liste des modèles de sélection spécifiés dans la ligne de commande. La philosophie de `unzip` est « vous obtenez ce que vous demandez » (cela est également responsable du changement -L/-U ; voir les options correspondantes ci-dessous). Étant donné que certains systèmes de fichiers sont entièrement sensibles à la casse (notamment ceux sous le système d’exploitation Unix) et que les archives ZIP et `unzip` sont portables sur différentes plateformes, le comportement par défaut de `unzip` consiste à effectuer une correspondance sensible à la casse pour les noms de fichiers génériques et littéraux. Cela signifie que la spécification de « makefile » dans la ligne de commande ne correspondra qu’à « makefile » dans l’archive, et non à « Makefile » ou « MAKEFILE » (et de même pour les spécifications génériques). Étant donné que cela ne correspond pas au comportement de nombreux autres systèmes d’exploitation/systèmes de fichiers (par exemple, OS/2 HPFS, qui conserve la casse mixte mais n’y est pas sensible), l’option -C peut être utilisée pour forcer toutes les correspondances de noms de fichiers à être insensibles à la casse. Dans l’exemple ci-dessus, les trois fichiers correspondraient alors à « makefile » (ou « make* », ou similaire). L’option -C affecte les spécifications de fichiers à la fois dans la liste normale des fichiers et dans la liste des fichiers exclus (xlist).

-D     ignorer la restauration des horodatages pour les éléments extraits. Normalement, `unzip` tente de restaurer toutes les métadonnées pour les éléments extraits qui sont fournis dans l’archive Zip (et qui n’exigent pas de privilèges ou ne présentent pas de risque pour la sécurité). En spécifiant -D, `unzip` est invité à supprimer la restauration des horodatages pour les répertoires créés explicitement à partir des entrées d’archive Zip. Cette option ne s’applique qu’aux ports qui prennent en charge la définition des horodatages pour les répertoires (actuellement ATheOS, BeOS, MacOS, OS/2, Unix, VMS, Win32 ; pour les autres ports `unzip`, -D n’a aucun effet). L’option dupliquée -DD force la suppression de la restauration des horodatages pour toutes les entrées extraites (fichiers et répertoires). Cette option a pour résultat la définition des horodatages de toutes les entrées extraites à l’heure actuelle.

Sur VMS, le paramètre par défaut de cette option est -D pour assurer la cohérence avec le comportement de BACKUP : les horodatages des fichiers sont restaurés, les horodatages des répertoires extraits sont laissés à l’heure actuelle. Pour activer la restauration des horodatages des répertoires, l’option annulée --D doit être spécifiée. Sur VMS, l’option -D désactive la restauration des horodatages pour tous les éléments d’archive Zip extraits. (Ici, un seul -D dans la ligne de commande se combine avec le -D par défaut pour faire ce qu’un -DD explicite fait sur les autres systèmes).

-E     [Uniquement pour MacOS] affiche le contenu du champ supplémentaire de MacOS lors de l'opération de restauration.

-F     [Uniquement pour Acorn] supprime la suppression de l'extension de type de fichier NFS des noms de fichiers stockés.

-F     [Pour les systèmes autres qu'Acorn prenant en charge les noms de fichiers longs avec des virgules intégrées, et uniquement si compilé avec ACORN_FTYPE_NFS défini] traduit les informations de type de fichier du champ supplémentaire RISC OS d'Acorn en une extension de type de fichier NFS et l'ajoute aux noms des fichiers extraits. (Lorsque le nom de fichier stocké semble déjà avoir une extension de type de fichier NFS ajoutée, il est remplacé par les informations du champ supplémentaire.)

-i     [Uniquement pour MacOS] ignore les noms de fichiers stockés dans les champs supplémentaires de MacOS. Au lieu de cela, le nom de fichier le plus compatible stocké dans la partie générique de l'en-tête de l'entrée est utilisé.

-j     supprime les chemins. La structure de répertoire de l'archive n'est pas recréée ; tous les fichiers sont déposés dans le répertoire d'extraction (par défaut, le répertoire actuel).

-J     [Uniquement pour BeOS] supprime les attributs de fichier. Les attributs de fichier BeOS du fichier ne sont pas restaurés, seul le contenu du fichier.

-J     [Uniquement pour MacOS] ignore les champs supplémentaires de MacOS. Toutes les informations spécifiques à Macintosh sont ignorées. Les données et les ressources sont restaurées sous forme de fichiers séparés.

-K     [Uniquement pour AtheOS, BeOS et Unix] conserve les attributs de fichier SUID/SGID/Tacky. Sans ce drapeau, ces bits d'attribut sont effacés pour des raisons de sécurité.

-L     convertit en minuscules tout nom de fichier provenant d'un système d'exploitation ou d'un système de fichiers ne prenant en charge que les majuscules. (C'était le comportement par défaut d'unzip dans les versions antérieures à 5.11 ; le nouveau comportement par défaut est identique au comportement de l'option -U, qui est désormais obsolète et sera supprimée dans une version ultérieure.) Selon l'outil d'archivage, les fichiers archivés sous des systèmes de fichiers à un seul type de casse (VMS, anciens systèmes de fichiers FAT MS-DOS, etc.) peuvent être stockés sous forme de noms en majuscules ; cela peut être disgracieux ou peu pratique lors de l'extraction vers un système de fichiers qui préserve la casse, tel qu'OS/2 HPFS ou un système sensible à la casse tel que sous Unix. Par défaut, unzip liste et extrait les noms de fichiers exactement comme ils sont stockés (à l'exception de la troncature, de la conversion des caractères non pris en charge, etc.) ; cette option fait en sorte que les noms de tous les fichiers de certains systèmes soient convertis en minuscules. L'option -LL force la conversion de chaque nom de fichier en minuscules, quel que soit le système de fichiers d'origine.

-M     transmet toutes les sorties via un paginateur interne similaire à la commande Unix more(1). À la fin d'une page de sortie, unzip fait une pause avec l'invite « --More-- » ; la page suivante peut être consultée en appuyant sur la touche Entrée ou la barre d'espace. unzip peut être terminé en appuyant sur la touche « q » et, sur certains systèmes, sur la touche Entrée. Contrairement à Unix more(1), il n'y a pas de fonction de recherche ou de modification. De plus, unzip ne remarque pas si les longues lignes se coupent au bord de l'écran, ce qui entraîne l'impression de deux lignes ou plus et le risque que du texte défile vers le haut de l'écran avant d'être affiché. Sur certains systèmes, le nombre de lignes disponibles à l'écran n'est pas détecté, auquel cas unzip suppose que la hauteur est de 24 lignes.

-n  ne jamais remplacer les fichiers existants. Si un fichier existe déjà, ignorez l’extraction de ce fichier sans demander de confirmation. Par défaut, unzip demande confirmation avant d’extraire tout fichier qui existe déjà ; l’utilisateur peut choisir de remplacer uniquement le fichier actuel, de remplacer tous les fichiers, d’ignorer l’extraction du fichier actuel, d’ignorer l’extraction de tous les fichiers existants ou de renommer le fichier actuel.

-N  [Amiga] extrait les commentaires des fichiers sous forme de notes Amiga. Les commentaires de fichier sont créés avec l’option -c de [zip]({filename}../../zip)(1), ou avec l’option -N de la version Amiga de [zip]({filename}../../zip)(1), qui stocke les notes dans les commentaires.

-o  remplace les fichiers existants sans demander de confirmation. Il s’agit d’une option dangereuse, utilisez-la avec prudence. (Elle est souvent utilisée avec -f, et c’est le seul moyen de remplacer les attributs de répertoire sous OS/2.)

-P mot de passe
utilise un mot de passe pour déchiffrer les entrées de fichier zip chiffrées (si elles existent). C’EST INSÉCURISÉ ! De nombreux systèmes d’exploitation multi-utilisateurs offrent des moyens permettant à n’importe quel utilisateur de voir la ligne de commande actuelle d’un autre utilisateur ; même sur les systèmes autonomes, il existe toujours la menace d’une observation directe. Stocker le mot de passe en texte clair dans une ligne de commande dans un script automatisé est encore pire. Dans la mesure du possible, utilisez l’invite interactive non affichée pour saisir les mots de passe. (Et lorsque la sécurité est vraiment importante, utilisez un chiffrement fort tel que Pretty Good Privacy au lieu du chiffrement relativement faible fourni par les utilitaires zip standard.)

-q  effectue les opérations en mode silencieux (-qq = encore plus silencieux). Normalement, unzip affiche les noms des fichiers qu’il extrait ou teste, les méthodes d’extraction, tous les commentaires de fichier ou de fichier zip qui peuvent être stockés dans l’archive, et éventuellement un résumé une fois terminé avec chaque archive. Les options -q[q] suppriment l’affichage de certains ou de tous ces messages.

-s  [OS/2, NT, MS-DOS] convertit les espaces dans les noms de fichiers en tirets bas. Étant donné que tous les systèmes d’exploitation PC autorisent les espaces dans les noms de fichiers, unzip extrait par défaut les noms de fichiers avec les espaces intacts (par exemple, « EA DATA. SF »). Cela peut être gênant, car MS-DOS en particulier ne prend pas en charge les espaces dans les noms de fichiers. La conversion des espaces en tirets bas peut éliminer la gêne dans certains cas.

-S  [VMS] convertit les fichiers texte (-a, -aa) au format d’enregistrement Stream_LF, au lieu du format d’enregistrement de fichier texte par défaut, de longueur variable. (Stream_LF est le format d’enregistrement par défaut de VMS unzip. Il est appliqué à moins qu’une conversion (-a, -aa et/ou -b, -bb) ne soit demandée ou qu’une entrée spécifique à VMS ne soit traitée.)

-U     [UNICODE_SUPPORT uniquement] modifie ou désactive la gestion UTF-8. Lorsque UNICODE_SUPPORT est disponible, l'option -U force unzip à échapper tous les caractères non-ASCII des noms de fichiers codés en UTF-8 sous la forme ``#Uxxxx'' (pour les caractères UCS-2, ou ``#Lxxxxxx'' pour les points de code Unicode nécessitant 3 octets). Cette option est principalement fournie à des fins de débogage, lorsque l'on suspecte que la prise en charge UTF-8, relativement récente, corrompt les noms de fichiers extraits.

L'option -UU permet de désactiver complètement la reconnaissance des noms de fichiers codés en UTF-8. Le traitement des codages de noms de fichiers dans unzip revient au comportement des versions précédentes.

[utilisation ancienne et obsolète] conserve les noms de fichiers en majuscules s'ils ont été créés sous MS-DOS, VMS, etc. Voir -L ci-dessus.

-V     conserve les numéros de version des fichiers (VMS). Les fichiers VMS peuvent être stockés avec un numéro de version, au format fichier.ext;##. Par défaut, les numéros de version ``;##'' sont supprimés, mais cette option permet de les conserver. (Sur les systèmes de fichiers qui limitent la longueur des noms de fichiers, les numéros de version peuvent être tronqués ou supprimés, quel que soit ce paramètre.)

-W     [uniquement lorsque l'option de compilation WILD_STOP_AT_DIR est activée] modifie la routine de correspondance de motifs de sorte que les caractères génériques `?' (caractère générique unique) et `*' (caractère générique multiple) ne correspondent pas au caractère séparateur de répertoire `/'. (La séquence de deux caractères ``**'' agit comme un caractère générique multiple qui inclut le caractère séparateur de répertoire dans les caractères correspondants.) Exemples :

"*.c" correspond à "foo.c", mais pas à "mydir/foo.c"
"**.c" correspond à la fois à "foo.c" et à "mydir/foo.c"
"*/*.c" correspond à "bar/foo.c", mais pas à "baz/bar/foo.c"
"??*/*" correspond à "ab/foo" et "abc/foo", mais pas à "a/foo" ou "a/b/foo"

Ce comportement modifié est équivalent au style de correspondance de motifs utilisé par les shells de certains des systèmes d'exploitation pris en charge par UnZip (par exemple, Acorn RISC OS). Cette option peut ne pas être disponible sur les systèmes où le caractère séparateur de répertoire interne de l'archive Zip `/` est autorisé en tant que caractère normal dans les noms de fichiers du système d'exploitation natif. (Actuellement, UnZip utilise les mêmes règles de correspondance de motifs pour les spécifications de fichiers Zip génériques et les motifs de sélection d'entrées Zip dans la plupart des ports. Pour les systèmes qui autorisent le caractère \`/' comme caractère normal du nom de fichier, l'option -W ne fonctionnerait pas comme prévu sur une spécification de fichier Zip générique.)

-X     [VMS, Unix, OS/2, NT, Tandem] restaure les informations de propriétaire/protection (UIC et entrées ACL) sous VMS, ou les informations d'utilisateur et de groupe (UID/GID) sous Unix, ou les listes de contrôle d'accès (ACL) sous certaines versions réseau d'OS/2 (Warp Server avec IBM LAN Server/Requester 3.0 à 0 Warp Connect avec IBM Peer 1.0), ou les ACL de sécurité sous Windows NT. Dans la plupart des cas, cela nécessitera des privilèges système spéciaux, et le fait de doubler l'option (-XX) sous NT indique à unzip d'utiliser les privilèges pour l'extraction ; mais sous Unix, par exemple, un utilisateur qui appartient à plusieurs groupes peut restaurer des fichiers appartenant à l'un de ces groupes, tant que les ID d'utilisateur correspondent aux siens. Notez que les attributs de fichier ordinaires sont toujours restaurés ; cette option ne s'applique qu'aux informations de propriété supplémentaires facultatives disponibles sur certains systèmes d'exploitation. [Les listes de contrôle d'accès de NT ne semblent pas être particulièrement compatibles avec celles d'OS/2, aucune tentative n'est donc faite pour assurer la portabilité inter-plateforme des privilèges d'accès. Il n'est pas clair dans quelles conditions cela pourrait être utile.]

-Y     [VMS] traite les extensions de nom de fichier archivé de type « .nnn » (où « nnn » est un nombre décimal) comme s'il s'agissait de numéros de version VMS (« ;nnn »). (Par défaut, ils sont traités comme des types de fichiers.) Exemple :
« a.b.3 » -> « a.b;3 ».

-$     [MS-DOS, OS/2, NT] restaure l'étiquette de volume si le support d'extraction est amovible (par exemple, une disquette). Doubler l'option (-$$) permet également d'étiqueter les supports fixes (disques durs). Par défaut, les étiquettes de volume sont ignorées.

-/ extensions
[Acorn uniquement] remplace la liste d'extensions fournie par la variable d'environnement Unzip$Ext. Pendant l'extraction, les extensions de nom de fichier qui correspondent à l'un des éléments de cette liste d'extensions sont placées devant le nom de base du fichier extrait.

-:     [tous sauf Acorn, VM/CMS, MVS, Tandem] permet d'extraire les membres d'archive dans des emplacements situés en dehors du répertoire racine d'extraction actuel. Pour des raisons de sécurité, unzip supprime normalement les composants de chemin « parent directory » (« ../ ») des noms des fichiers extraits. Cette fonction de sécurité (nouvelle dans la version 5.50) empêche unzip d'écrire accidentellement des fichiers dans des zones « sensibles » situées en dehors de l'arborescence de dossiers d'extraction active. L'option -: permet à unzip de rétablir son comportement précédent plus permissif, afin de permettre l'extraction exacte d'archives plus anciennes qui utilisaient des composants « ../ » pour créer plusieurs arborescences de répertoires au niveau du dossier d'extraction actuel. Cette option n'active pas l'écriture explicite dans le répertoire racine (« / »). Pour y parvenir, il est nécessaire de définir le dossier cible d'extraction sur la racine (par exemple, -d /). Cependant, lorsque l'option -: est spécifiée, il est toujours possible d'écrire implicitement dans le répertoire racine en spécifiant suffisamment de composants de chemin « ../ » dans l'archive zip. Utilisez cette option avec une extrême prudence.

-^     [Unix uniquement] permet de contrôler les caractères dans les noms des entrées d'archive ZIP extraites. Sur Unix, un nom de fichier peut contenir n'importe quel code de caractère sur 8 bits, à l'exception de « / » (délimiteur de répertoire) et de NUL (0x00, l'indicateur de fin de chaîne C), à moins que le système de fichiers spécifique n'ait des conventions plus restrictives. En général, cela permet d'intégrer des caractères de contrôle ASCII (ou même des séquences de contrôle sophistiquées) dans les noms de fichiers, du moins sur les systèmes de fichiers Unix « natifs ». Cependant, il peut être très suspect de faire usage de cette « fonctionnalité » Unix. Les caractères de contrôle intégrés dans les noms de fichiers peuvent avoir des effets secondaires désagréables lorsqu'ils sont affichés à l'écran par un code de liste qui ne filtre pas suffisamment. De plus, pour les utilisateurs ordinaires, il peut être difficile de gérer ces noms de fichiers (par exemple, lorsqu'ils tentent de les spécifier pour les opérations d'ouverture, de copie, de déplacement ou de suppression). Par conséquent, unzip applique par défaut un filtre qui supprime les caractères de contrôle potentiellement dangereux des noms de fichiers extraits. L'option -^ permet d'annuler ce filtre dans le cas rare où l'intégration de caractères de contrôle de nom de fichier doit être intentionnellement restaurée.

-2     [VMS]  force  conversion inconditionnelle des noms de fichiers en noms compatibles ODS2. Par défaut, il exploite le système de fichiers de destination, en préservant la casse et les caractères de nom de fichier étendus sur un système de fichiers ODS5 de destination ; et en appliquant le filtrage des noms de fichiers compatible ODS2 sur un système de fichiers ODS2 de destination.

OPTIONS D'ENVIRONNEMENT

Le comportement par défaut d'unzip peut être modifié via des options placées dans une variable d'environnement.  Cela peut être fait avec n'importe quelle option, mais c'est probablement le plus utile avec les modificateurs -a, -L, -C, -q, -o ou -n : faire en sorte qu'unzip convertisse automatiquement les fichiers texte par défaut, qu'il convertisse les noms de fichiers des systèmes en majuscules vers des noms en minuscules, qu'il effectue une correspondance des noms insensible à la casse, qu'il soit plus silencieux, ou qu'il écrase toujours ou jamais les fichiers lors de leur extraction.  Par exemple, pour faire en sorte qu'unzip agisse le plus silencieusement possible, en signalant uniquement les erreurs, on utiliserait l'une des commandes suivantes :

Unix Bourne shell: UNZIP=-qq; export UNZIP

Unix C shell: setenv UNZIP -qq

OS/2 ou MS-DOS:
set UNZIP=-qq

VMS (guillemets pour les minuscules):
define UNZIP_OPTS "-qq"

Les options d'environnement sont, en fait, traitées comme n'importe quelles autres options en ligne de commande, sauf qu'elles sont effectivement les premières options sur la ligne de commande. Pour remplacer une option d'environnement, on peut utiliser l'« opérateur moins » pour la supprimer. Par exemple, pour remplacer l'une des options de silence dans l'exemple ci-dessus, utilisez la commande

unzip --q[autres options] nomfichierzip

Le premier tiret est le caractère d'option normal, et le second est un signe moins, agissant sur l'option q. Ainsi, l'effet ici est d'annuler un quantum de silence. Pour annuler les deux options de silence, on peut utiliser deux (ou plus) signes moins :

unzip -t--q nomfichierzip
unzip ---qt nomfichierzip

(les deux sont équivalents).  Cela peut sembler maladroit ou déroutant, mais c'est raisonnablement intuitif : il suffit d'ignorer le premier tiret et de continuer.  C'est également cohérent avec le comportement de Unix [nice]({filename}../../nice)(1).

Comme le suggèrent les exemples ci-dessus, les noms de variables par défaut sont UNZIP_OPTS pour VMS (où le symbole utilisé pour installer unzip en tant que commande étrangère serait autrement confondu avec la variable d'environnement), et UNZIP pour tous les autres systèmes d'exploitation. Pour la compatibilité avec zip(1), UNZIPOPT est également accepté (ne posez pas de questions). Si UNZIP et UNZIPOPT sont tous les deux définis, cependant, UNZIP est prioritaire. L'option de diagnostic d'unzip (-v sans nom de fichier zip) peut être utilisée pour vérifier les valeurs des quatre variables d'environnement unzip et zipinfo possibles.


La variable de fuseau horaire (TZ) doit être définie en fonction du fuseau horaire local afin que les options -f et -u fonctionnent correctement. Voir la description de -f ci-dessus pour plus de détails. Cette variable peut également être nécessaire pour que les horodatages des fichiers extraits soient définis correctement. La version de unzip pour WIN32 (Win9x/ME/NT4/2K/XP/2K3) récupère la configuration du fuseau horaire dans le registre, en supposant qu'elle est correctement définie dans le Panneau de configuration. La variable TZ est ignorée pour cette version.

DÉCRYPTAGE

Les archives chiffrées sont entièrement prises en charge par les logiciels Info-ZIP, mais en raison des restrictions à l’exportation des États-Unis, la prise en charge du dé-/chiffrement peut être désactivée dans votre binaire compilé. Cependant, depuis le printemps 2000, les restrictions à l’exportation américaines ont été levées, et nos archives de code source incluent désormais un code de chiffrement complet. Si vous avez besoin de distributions binaires avec la prise en charge du chiffrement activée, consultez le fichier WHERE dans toute archive de code source ou binaire Info-ZIP pour connaître les emplacements à l’intérieur et à l’extérieur des États-Unis.

Certaines versions compilées de unzip peuvent ne pas prendre en charge le déchiffrement. Pour vérifier si une version prend en charge le chiffrement, essayez de tester ou d’extraire une archive chiffrée, ou vérifiez l’écran de diagnostic de unzip (voir l’option -v ci-dessus) pour voir si [decryption] figure parmi les options de compilation spéciales.

Comme indiqué ci-dessus, l’option -P peut être utilisée pour fournir un mot de passe sur la ligne de commande, mais cela se fait au détriment de la sécurité. La méthode de déchiffrement préférée consiste simplement à extraire normalement ; si un membre de fichier zip est chiffré, unzip vous demandera le mot de passe sans afficher ce qui est tapé. unzip continue d’utiliser le même mot de passe tant qu’il semble valide, en testant un en-tête de 12 octets sur chaque fichier. Le mot de passe correct validera toujours l’en-tête, mais il y a une chance sur 256 qu’un mot de passe incorrect le fasse également. (Il s’agit d’une fonctionnalité de sécurité du format de fichier zip de PKWARE ; elle permet d’éviter les attaques par force brute qui pourraient autrement gagner un avantage de vitesse en testant uniquement l’en-tête). Si un mot de passe incorrect est fourni, mais qu’il réussit le test d’en-tête, soit un CRC incorrect sera généré pour les données extraites, soit unzip échouera lors de l’extraction car les octets « déchiffrés » ne constituent pas un flux de données compressé valide.

Si le premier mot de passe échoue au test d’en-tête sur un fichier, unzip vous demandera un autre mot de passe, et ainsi de suite jusqu’à ce que tous les fichiers soient extraits. Si un mot de passe n’est pas connu, la saisie d’un mot de passe nul (c’est-à-dire simplement un retour chariot ou Enter) est considérée comme un signal pour ignorer toutes les invites supplémentaires. Seuls les fichiers non chiffrés de l’archive seront extraits par la suite. (En fait, ce n’est pas tout à fait vrai ; les anciennes versions de zip(1) et zipcloak(1) autorisaient les mots de passe nuls, de sorte que unzip vérifie chaque fichier chiffré pour voir si le mot de passe nul fonctionne. Cela peut entraîner des « faux positifs » et des erreurs d’extraction, comme indiqué ci-dessus).


Les archives chiffrées avec des mots de passe 8 bits (par exemple, des mots de passe contenant des caractères accentués européens) peuvent ne pas être portables entre différents systèmes et/ou différents programmes d'archivage. Ce problème est dû à l'utilisation de plusieurs méthodes d'encodage pour ces caractères, notamment Latin-1 (ISO 8859-1) et la page de codes OEM 850. DOS PKZIP 2.04g utilise la page de codes OEM ; Windows PKZIP 2.50 utilise Latin-1 (et est donc incompatible avec DOS PKZIP) ; Info-ZIP utilise la page de codes OEM sur DOS, OS/2 et les versions Win3.x, mais l'encodage ISO (Latin-1, etc.) partout ailleurs ; et Nico Mak's WinZip 6.x n'autorise pas les mots de passe 8 bits. UnZip 5.3 (ou version ultérieure) tente d'utiliser d'abord l'ensemble de caractères par défaut (par exemple, Latin-1), puis l'ensemble alternatif (par exemple, la page de codes OEM) pour tester les mots de passe. Sur les systèmes EBCDIC, si les deux écheouent, l'encodage EBCDIC sera testé en dernier recours. (EBCDIC n'est pas testé sur les systèmes non-EBCDIC, car il n'existe aucun programme d'archivage connu qui chiffre en utilisant l'encodage EBCDIC). Les autres encodages de caractères ISO que Latin-1 ne sont pas pris en charge. Le nouvel ajout d'une prise en charge (partielle) d'Unicode (respectivement UTF-8) dans UnZip 6.0 n'a pas encore été adapté à la gestion des mots de passe de chiffrement dans unzip. Sur les systèmes qui utilisent UTF-8 comme encodage de caractères natif, unzip tente simplement le déchiffrement avec le mot de passe encodé en UTF-8 natif ; les tentatives intégrées pour vérifier le mot de passe dans un encodage traduit n'ont pas encore été adaptées pour la prise en charge d'UTF-8 et échoueront donc.

EXEMPLES

Pour utiliser unzip afin d'extraire tous les membres de l'archive letters.zip dans le répertoire courant et les sous-répertoires en dessous, en créant les sous-répertoires si nécessaire :

unzip letters

Pour extraire tous les membres de letters.zip dans le répertoire courant uniquement :

unzip -j letters

Pour tester letters.zip, en affichant uniquement un message récapitulatif indiquant si l'archive est correcte ou non :

unzip -tq letters

Pour tester tous les fichiers zip du répertoire courant, en affichant uniquement les récapitulatifs :

unzip -tq \*.zip

(La barre oblique inverse devant l'astérisque n'est requise que si le shell développe les caractères génériques, comme sous Unix ; des guillemets doubles pourraient être utilisés à la place, comme dans les exemples de code ci-dessous). Pour extraire vers la sortie standard tous les membres de letters.zip dont les noms se terminent par .tex, en effectuant une conversion automatique vers la convention de fin de ligne locale et en dirigeant la sortie vers more(1) :

unzip -ca letters \*.tex | more

Pour extraire le fichier binaire paper1.dvi vers la sortie standard et le diriger vers un programme d'impression :

unzip -p articles paper1.dvi | dvips

Pour extraire tous les fichiers sources FORTRAN et C — *.f, *.c, *.h et Makefile — dans le répertoire /tmp :

unzip source.zip "*.[fch]" Makefile -d /tmp

(les guillemets sont nécessaires uniquement sous Unix et uniquement si l'expansion des motifs est activée). Pour extraire tous les fichiers sources FORTRAN et C, quelle que soit la casse (par exemple, à la fois *.c et *.C, et tout fichier makefile, Makefile, MAKEFILE ou similaire) :

unzip -C source.zip "*.[fch]" makefile -d /tmp

Pour extraire tous ces fichiers, mais convertir tous les noms en majuscules MS-DOS ou VMS en minuscules et convertir les fins de ligne de tous les fichiers vers le format local (sans tenir compte des fichiers qui pourraient être marqués comme « binaires ») :

unzip -aaCL source.zip "*.[fch]" makefile -d /tmp

Pour extraire uniquement les versions les plus récentes des fichiers qui se trouvent déjà dans le répertoire courant, sans demander de confirmation (REMARQUE : soyez prudent lorsque vous décompressez un fichier dans un fuseau horaire différent de celui dans lequel il a été créé — les archives ZIP autres que celles créées par Zip 2.1 ou une version ultérieure ne contiennent aucune information sur le fuseau horaire, et un fichier « plus récent » provenant d’un fuseau horaire de l’Est peut, en fait, être plus ancien) :

unzip -fo sources

Pour extraire les versions les plus récentes des fichiers qui se trouvent déjà dans le répertoire courant et créer tous les fichiers qui n’existent pas déjà (même remarque que dans l’exemple précédent) :

unzip -uo sources

Pour afficher un écran de diagnostic indiquant les options unzip et zipinfo qui sont stockées dans les variables d’environnement, si la prise en charge du déchiffrement a été compilée, le compilateur avec lequel unzip a été compilé, etc. :

unzip -v

Dans les cinq derniers exemples, supposez que UNZIP ou UNZIP_OPTS est défini sur -q. Pour effectuer une liste simple :

unzip -l file.zip

Pour effectuer une liste doublement silencieuse :

unzip -ql file.zip

(Notez que « .zip » n’est généralement pas nécessaire). Pour effectuer une liste standard :

unzip --ql file.zip
ou
unzip -l-q file.zip
ou
unzip -l--q file.zip
(Les tirets supplémentaires dans les options ne posent pas de problème).

CONSEILS

L’utilisateur actuel, étant du genre paresseux, trouve qu’il est très utile de définir une paire d’alias : tt pour « unzip -tq » et ii pour « unzip -Z » (ou « zipinfo »). On peut alors simplement taper « tt zipfile » pour tester une archive, ce qui vaut la peine de prendre l’habitude de le faire. Avec un peu de chance, unzip indiquera « Aucune erreur détectée dans les données compressées de zipfile.zip », après quoi on peut pousser un soupir de soulagement.

L’utilisateur trouve également qu’il est utile de définir la variable d’environnement UNZIP sur « -aL » et est tenté d’ajouter « -C » également. Sa variable ZIPINFO est définie sur « -z ».

DIAGNOSTICS

Le code de retour (ou le niveau d’erreur) se rapproche des codes de retour définis par PKWARE et prend les valeurs suivantes, à l’exception de VMS :

0    normal ; aucune erreur ou aucun avertissement détecté.

1    une ou plusieurs erreurs d’avertissement ont été rencontrées, mais le traitement s’est quand même terminé avec succès. Cela inclut les fichiers zip où un ou plusieurs fichiers ont été ignorés en raison d’une méthode de compression ou d’un chiffrement avec un mot de passe inconnu.

2     une erreur générique du format zip a été détectée. Le traitement peut avoir été
effectué avec succès, mais certains fichiers zip corrompus créés par d'autres outils d'archivage
peuvent être corrigés facilement.

3     une erreur grave du format zip a été détectée. Le traitement a probablement échoué immédiatement.

4     unzip n'a pas pu allouer de la mémoire pour un ou plusieurs tampons pendant l'initialisation du programme.

5     unzip n'a pas pu allouer de la mémoire ou n'a pas pu accéder à un terminal pour lire le(s)
mot(s) de passe de déchiffrement.

6     unzip n'a pas pu allouer de la mémoire pendant la décompression vers le disque.

7     unzip n'a pas pu allouer de la mémoire pendant la décompression en mémoire.

8     [actuellement non utilisé]

9     les fichiers zip spécifiés n'ont pas été trouvés.

10    des options invalides ont été spécifiées dans la ligne de commande.

11    aucun fichier correspondant n'a été trouvé.

50    le disque est plein (ou l'était) pendant l'extraction.

51    la fin de l'archive zip a été rencontrée de manière prématurée.

80    l'utilisateur a interrompu unzip prématurément avec Ctrl+C (ou similaire).

81    le test ou l'extraction d'un ou plusieurs fichiers a échoué en raison de méthodes de compression
non prises en charge ou de déchiffrement non pris en charge.

82    aucun fichier n'a été trouvé en raison d'un mot de passe de déchiffrement incorrect. (Si au moins un fichier est traité avec succès, le code de sortie est 1.)

VMS interprète les valeurs de retour Unix (ou PC) standard comme des choses plus effrayantes. Par conséquent, unzip mappe ces valeurs vers des codes d'état de type VMS. Le mappage actuel est le suivant : 1 (succès)
pour une sortie normale, 0x7fff0001 pour les erreurs d'avertissement, et (0x7fff000? + 16*code_de_sortie_unzip_normal)
pour toutes les autres erreurs, où `?` est 2 (erreur) pour les valeurs unzip 2, 9-11 et 80-82, et 4 (erreur fatale)
pour les autres (3-8, 50, 51). De plus, il existe une option de compilation pour étendre ce comportement : définir RETURN_CODES affiche une explication textuelle de ce que représente le code d'état d'erreur.

DÉFAUTS

Les archives multi-parties ne sont pas encore prises en charge, sauf en conjonction avec zip. (Toutes les parties doivent être concaténées dans l'ordre, puis zip -F (pour zip 2.x) ou zip -FF (pour zip 3.x) doivent être exécutées sur l'archive concaténée afin de la corriger. De plus, zip 3.0 et versions ultérieures peuvent combiner des archives multi-parties (divisées) en une seule archive à l'aide de zip -s- archive_d'entrée -O archive_de_sortie. Consultez la page de manuel de zip 3 pour plus d'informations.) Cela sera certainement corrigé dans la prochaine version majeure.

Les archives lues à partir de l'entrée standard ne sont pas encore prises en charge, sauf avec funzip (et uniquement le premier membre de l'archive peut être extrait).

Les archives chiffrées avec des mots de passe sur 8 bits (par exemple, des mots de passe avec des caractères européens accentués) peuvent ne pas être portables entre les systèmes et/ou les autres outils d'archivage. Voir la discussion dans la section DÉCHIFFREMENT ci-dessus.

L'option -M (more) d'unzip tente de prendre en compte le retour automatique des longues lignes. Cependant, le code peut ne pas détecter correctement les emplacements de retour à la ligne. Tout d'abord, les caractères TAB (et séquences de contrôle similaires) ne sont pas pris en compte et sont traités comme des caractères imprimables ordinaires. Deuxièmement, en fonction du système/de la version du système d'exploitation, unzip peut ne pas détecter la géométrie d'écran réelle, mais s'appuie plutôt sur des dimensions par défaut couramment utilisées. La gestion correcte des tabulations nécessiterait la mise en œuvre d'une requête pour la configuration réelle des tabulations sur la console de sortie.


Les dates, heures et autorisations des répertoires stockés ne sont pas restaurées, sauf sous Unix. (Sous Windows NT et les versions ultérieures, les horodatages sont désormais restaurés.)

[MS-DOS] Lors de l’extraction ou du test de fichiers d’une archive sur une disquette défectueuse, si l’option « Échec » est choisie dans le message « Annuler, réessayer, échouer » de DOS, les anciennes versions d’unzip peuvent bloquer le système, ce qui nécessite un redémarrage. Ce problème semble avoir été corrigé, mais Ctrl+C (ou Ctrl+Break) peut toujours être utilisé pour terminer l’exécution d’unzip.

Sous DEC Ultrix, unzip échouait parfois sur les fichiers zip volumineux (mauvais CRC, pas toujours reproductible). Cela était apparemment dû à un problème matériel (mémoire cache) ou à un problème du système d’exploitation (gestion incorrecte des erreurs de page ?). Comme Ultrix a été abandonné au profit de Digital Unix (OSF/1), cela ne constitue peut-être plus un problème.

[Unix] Les fichiers spéciaux Unix tels que les tampons FIFO (pipes nommés), les périphériques de bloc et les périphériques de caractères ne sont pas restaurés, même s’ils sont d’une manière ou d’une autre représentés dans le fichier zip, et les fichiers à liens physiques ne sont pas recréés. Essentiellement, les seuls types de fichiers restaurés par unzip sont les fichiers ordinaires, les répertoires et les liens symboliques (soft links).

[OS/2] Les attributs étendus des répertoires existants ne sont mis à jour que si l’option -o (« écraser tout ») est utilisée. Il s’agit d’une limitation du système d’exploitation ; comme les répertoires n’ont qu’une heure de création associée, unzip n’a aucun moyen de déterminer si les attributs stockés sont plus récents ou plus anciens que ceux du disque. Dans la pratique, cela peut signifier qu’une approche en deux étapes est nécessaire : d’abord, décompacter l’archive normalement (avec ou sans actualisation/mise à jour des fichiers existants), puis écraser uniquement les entrées du répertoire (par exemple, « unzip -o foo */ »).

[VMS] Lors de l’extraction vers un autre répertoire, seule la syntaxe [.foo] est acceptée pour l’option -d ; la syntaxe Unix simple foo est ignorée (de même que la syntaxe VMS moins courante foo.dir).

[VMS] Lorsqu’un fichier à extraire existe déjà, la requête d’unzip permet uniquement de passer, d’écraser ou de renommer ; il devrait également y avoir une option pour créer une nouvelle version du fichier. En fait, l’option « écraser » crée bien une nouvelle version ; l’ancienne version n’est pas écrasée ou supprimée.

VOIR AUSSI

funzip(1), zip(1), zipcloak(1), zipgrep(1), zipinfo(1), zipnote(1), zipsplit(1)

URL

La page d’accueil d’Info-ZIP est actuellement à l’adresse http://www.info-zip.org/pub/infozip/ ou ftp://ftp.info-zip.org/pub/infozip/ .


AUTEURS

Les principaux auteurs d'Info-ZIP (membres actuels et semi-actifs du groupe de travail Zip-Bugs) sont : Ed Gordon (Zip, maintenance générale, code partagé, Zip64, Win32, Unix, Unicode) ; Christian Spieler (coordination de la maintenance d’UnZip, VMS, MS-DOS, Win32, code partagé, intégration et optimisation générales de Zip et UnZip) ; Onno van der Linden (Zip) ; Mike White (Win32, interface graphique Windows, DLL Windows) ; Kai Uwe Rommel (OS/2, Win32) ; Steven M. Schweda (VMS, Unix, prise en charge des nouvelles fonctionnalités) ; Paul Kienitz (Amiga, Win32, Unicode) ; Chris Herborth (BeOS, QNX, Atari) ; Jonathan Hudson (SMS/QDOS) ; Sergio Monesi (Acorn RISC OS) ; Harald Denker (Atari, MVS) ; John Bush (Solaris, Amiga) ; Hunter Goatley (VMS, maintenance du site Info-ZIP) ; Steve Salisbury (Win32) ; Steve Miller (interface graphique Windows CE) et Johnny Lee (MS-DOS, Win32, Zip64) et Dave Smith (Tandem NSK).

Les personnes suivantes ont été d’anciens membres du groupe de développement Info-ZIP et ont apporté d’importantes contributions aux parties essentielles du code actuel : Greg « Cave Newt » Roelofs (UnZip, décompression unshrink) ; Jean-loup Gailly (compression deflate) ; Mark Adler (décompression inflate, fUnZip).

L’auteur du code unzip original sur lequel Info-ZIP était basé est Samuel H. Smith ; Carl Mascott a effectué la première conversion pour Unix et David P. Kirschbaum a organisé et dirigé Info-ZIP à ses débuts, Keith Petersen hébergeant la liste de diffusion originale sur WSMR-SimTel20. La liste complète des collaborateurs d’UnZip est devenue assez importante ; veuillez consulter le fichier CONTRIBS dans la distribution source d’UnZip pour une version relativement complète.

VERSIONS

v1.2 15 mars 89 Samuel H. Smith
v2.0 9 sept. 89 Samuel H. Smith
v2.x automne 1989 de nombreux contributeurs Usenet
v3.0 1 mai 90 Info-ZIP (DPK, consolidateur)
v3.1 15 août 90 Info-ZIP (DPK, consolidateur)
v4.0 1 déc. 90 Info-ZIP (GRR, responsable de la maintenance)
v4.1 12 mai 91 Info-ZIP
v4.2 20 mars 92 Info-ZIP (sous-groupe Zip-Bugs, GRR)
v5.0 21 août 92 Info-ZIP (sous-groupe Zip-Bugs, GRR)
v5.01 15 janv. 93 Info-ZIP (sous-groupe Zip-Bugs, GRR)
v5.1 7 février 94 Info-ZIP (sous-groupe Zip-Bugs, GRR)
v5.11 2 août 94 Info-ZIP (sous-groupe Zip-Bugs, GRR)
v5.12 28 août 94 Info-ZIP (sous-groupe Zip-Bugs, GRR)
v5.2 30 avril 96 Info-ZIP (sous-groupe Zip-Bugs, GRR)
v5.3 22 avril 97 Info-ZIP (sous-groupe Zip-Bugs, GRR)
v5.31 31 mai 97 Info-ZIP (sous-groupe Zip-Bugs, GRR)
v5.32 3 nov. 97 Info-ZIP (sous-groupe Zip-Bugs, GRR)
v5.4 28 nov. 98 Info-ZIP (sous-groupe Zip-Bugs, SPC)
v5.41 16 avril 00 Info-ZIP (sous-groupe Zip-Bugs, SPC)
v5.42 14 janv. 01 Info-ZIP (sous-groupe Zip-Bugs, SPC)
v5.5 17 févr. 02 Info-ZIP (sous-groupe Zip-Bugs, SPC)
v5.51 22 mai 04 Info-ZIP (sous-groupe Zip-Bugs, SPC)
v5.52 28 février 05 Info-ZIP (sous-groupe Zip-Bugs, SPC)
v6.0 20 avril 09 Info-ZIP (sous-groupe Zip-Bugs, SPC)