123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041 |
- .\" Copyright (c) 1990-2009 Info-ZIP. All rights reserved.
- .\"
- .\" See the accompanying file LICENSE, version 2009-Jan-02 or later
- .\" (the contents of which are also included in unzip.h) for terms of use.
- .\" If, for some reason, all these files are missing, the Info-ZIP license
- .\" also may be found at: ftp://ftp.info-zip.org/pub/infozip/license.html
- .\"
- .\" unzip.1 by Greg Roelofs, Fulvio Marino, Jim van Zandt and others.
- .\"
- .\" =========================================================================
- .\" define .EX/.EE (for multiline user-command examples; normal Courier font)
- .de EX
- .in +4n
- .nf
- .ft CW
- ..
- .de EE
- .ft R
- .fi
- .in -4n
- ..
- .\" =========================================================================
- .TH UNZIP 1 "20 April 2009 (v6.0)" "Info-ZIP"
- .SH NAME
- unzip \- list, test and extract compressed files in a ZIP archive
- .PD
- .SH SYNOPSIS
- \fBunzip\fP [\fB\-Z\fP] [\fB\-cflptTuvz\fP[\fBabjnoqsCDKLMUVWX$/:^\fP]]
- \fIfile\fP[\fI.zip\fP] [\fIfile(s)\fP\ .\|.\|.]
- [\fB\-x\fP\ \fIxfile(s)\fP\ .\|.\|.] [\fB\-d\fP\ \fIexdir\fP]
- .PD
- .\" =========================================================================
- .SH DESCRIPTION
- \fIunzip\fP will list, test, or extract files from a ZIP archive, commonly
- found on MS-DOS systems. The default behavior (with no options) is to extract
- into the current directory (and subdirectories below it) all files from the
- specified ZIP archive. A companion program, \fIzip\fP(1), creates ZIP
- archives; both programs are compatible with archives created by PKWARE's
- \fIPKZIP\fP and \fIPKUNZIP\fP for MS-DOS, but in many cases the program
- options or default behaviors differ.
- .PD
- .\" =========================================================================
- .SH ARGUMENTS
- .TP
- .IR file [ .zip ]
- Path of the ZIP archive(s). If the file specification is a wildcard,
- each matching file is processed in an order determined by the operating
- system (or file system). Only the filename can be a wildcard; the path
- itself cannot. Wildcard expressions are similar to those supported in
- commonly used Unix shells (\fIsh\fP, \fIksh\fP, \fIcsh\fP) and may contain:
- .RS
- .IP *
- matches a sequence of 0 or more characters
- .IP ?
- matches exactly 1 character
- .IP [.\|.\|.]
- matches any single character found inside the brackets; ranges are specified
- by a beginning character, a hyphen, and an ending character. If an exclamation
- point or a caret (`!' or `^') follows the left bracket, then the range of
- characters within the brackets is complemented (that is, anything \fIexcept\fP
- the characters inside the brackets is considered a match). To specify a
- verbatim left bracket, the three-character sequence ``[[]'' has to be used.
- .RE
- .IP
- (Be sure to quote any character that might otherwise be interpreted or
- modified by the operating system, particularly under Unix and VMS.) If no
- matches are found, the specification is assumed to be a literal filename;
- and if that also fails, the suffix \fC.zip\fR is appended. Note that
- self-extracting ZIP files are supported, as with any other ZIP archive;
- just specify the \fC.exe\fR suffix (if any) explicitly.
- .IP [\fIfile(s)\fP]
- An optional list of archive members to be processed, separated by spaces.
- (VMS versions compiled with VMSCLI defined must delimit files with commas
- instead. See \fB\-v\fP in \fBOPTIONS\fP below.)
- Regular expressions (wildcards) may be used to match multiple members; see
- above. Again, be sure to quote expressions that would otherwise be expanded
- or modified by the operating system.
- .IP [\fB\-x\fP\ \fIxfile(s)\fP]
- An optional list of archive members to be excluded from processing.
- Since wildcard characters normally match (`/') directory separators
- (for exceptions see the option \fB\-W\fP), this option may be used
- to exclude any files that are in subdirectories. For
- example, ``\fCunzip foo *.[ch] -x */*\fR'' would extract all C source files
- in the main directory, but none in any subdirectories. Without the \fB\-x\fP
- option, all C source files in all directories within the zipfile would be
- extracted.
- .IP [\fB\-d\fP\ \fIexdir\fP]
- An optional directory to which to extract files. By default, all files
- and subdirectories are recreated in the current directory; the \fB\-d\fP
- option allows extraction in an arbitrary directory (always assuming one
- has permission to write to the directory). This option need not appear
- at the end of the command line; it is also accepted before the zipfile
- specification (with the normal options), immediately after the zipfile
- specification, or between the \fIfile(s)\fP and the \fB\-x\fP option.
- The option and directory may be concatenated without any white space
- between them, but note that this may cause normal shell behavior to be
- suppressed. In particular, ``\fC\-d\ ~\fR'' (tilde) is expanded by Unix
- C shells into the name of the user's home directory, but ``\fC\-d~\fR''
- is treated as a literal subdirectory ``\fB~\fP'' of the current directory.
- .\" =========================================================================
- .SH OPTIONS
- Note that, in order to support obsolescent hardware, \fIunzip\fP's usage
- screen is limited to 22 or 23 lines and should therefore be considered
- only a reminder of the basic \fIunzip\fP syntax rather than an exhaustive
- list of all possible flags. The exhaustive list follows:
- .TP
- .B \-Z
- \fIzipinfo\fP(1) mode. If the first option on the command line is \fB\-Z\fP,
- the remaining options are taken to be \fIzipinfo\fP(1) options. See the
- appropriate manual page for a description of these options.
- .TP
- .B \-A
- [OS/2, Unix DLL] print extended help for the DLL's programming interface (API).
- .TP
- .B \-c
- extract files to stdout/screen (``CRT''). This option is similar to the
- \fB\-p\fP option except that the name of each file is printed as it is
- extracted, the \fB\-a\fP option is allowed, and ASCII-EBCDIC conversion
- is automatically performed if appropriate. This option is not listed in
- the \fIunzip\fP usage screen.
- .TP
- .B \-f
- freshen existing files, i.e., extract only those files that
- already exist on disk and that are newer than the disk copies. By
- default \fIunzip\fP queries before overwriting, but the \fB\-o\fP option
- may be used to suppress the queries. Note that under many operating systems,
- the TZ (timezone) environment variable must be set correctly in order for
- \fB\-f\fP and \fB\-u\fP to work properly (under Unix the variable is usually
- set automatically). The reasons for this are somewhat subtle but
- have to do with the differences between DOS-format file times (always local
- time) and Unix-format times (always in GMT/UTC) and the necessity to compare
- the two. A typical TZ value is ``PST8PDT'' (US Pacific time with automatic
- adjustment for Daylight Savings Time or ``summer time'').
- .TP
- .B \-l
- list archive files (short format). The names, uncompressed file sizes and
- modification dates and times of the specified files are printed, along
- with totals for all files specified. If UnZip was compiled with OS2_EAS
- defined, the \fB\-l\fP option also lists columns for the sizes of stored
- OS/2 extended attributes (EAs) and OS/2 access control lists (ACLs). In
- addition, the zipfile comment and individual file comments (if any) are
- displayed. If a file was archived from a single-case file system (for
- example, the old MS-DOS FAT file system) and the \fB\-L\fP option was given,
- the filename is converted to lowercase and is prefixed with a caret (^).
- .TP
- .B \-p
- extract files to pipe (stdout). Nothing but the file data is sent to
- stdout, and the files are always extracted in binary format, just as they
- are stored (no conversions).
- .TP
- .B \-t
- test archive files. This option extracts each specified file in memory
- and compares the CRC (cyclic redundancy check, an enhanced checksum) of
- the expanded file with the original file's stored CRC value.
- .TP
- .B \-T
- [most OSes] set the timestamp on the archive(s) to that of the newest file
- in each one. This corresponds to \fIzip\fP's \fB\-go\fP option except that
- it can be used on wildcard zipfiles (e.g., ``\fCunzip \-T \e*.zip\fR'') and
- is much faster.
- .TP
- .B \-u
- update existing files and create new ones if needed. This option performs
- the same function as the \fB\-f\fP option, extracting (with query) files
- that are newer than those with the same name on disk, and in addition it
- extracts those files that do not already exist on disk. See \fB\-f\fP
- above for information on setting the timezone properly.
- .TP
- .B \-v
- list archive files (verbose format) or show diagnostic version info.
- This option has evolved and now behaves as both an option and a modifier.
- As an option it has two purposes: when a zipfile is specified with no
- other options, \fB\-v\fP lists archive files verbosely, adding to the
- basic \fB\-l\fP info the compression method, compressed size,
- compression ratio and 32-bit CRC. In contrast to most of the competing
- utilities, \fIunzip\fP removes the 12 additional header bytes of
- encrypted entries from the compressed size numbers. Therefore,
- compressed size and compression ratio figures are independent of the entry's
- encryption status and show the correct compression performance. (The complete
- size of the encrypted compressed data stream for zipfile entries is reported
- by the more verbose \fIzipinfo\fP(1) reports, see the separate manual.)
- When no zipfile is specified (that is, the complete command is simply
- ``\fCunzip \-v\fR''), a diagnostic screen is printed. In addition to
- the normal header with release date and version, \fIunzip\fP lists the
- home Info-ZIP ftp site and where to find a list of other ftp and non-ftp
- sites; the target operating system for which it was compiled, as well
- as (possibly) the hardware on which it was compiled, the compiler and
- version used, and the compilation date; any special compilation options
- that might affect the program's operation (see also \fBDECRYPTION\fP below);
- and any options stored in environment variables that might do the same
- (see \fBENVIRONMENT OPTIONS\fP below). As a modifier it works in
- conjunction with other options (e.g., \fB\-t\fP) to produce more
- verbose or debugging output; this is not yet fully implemented
- but will be in future releases.
- .TP
- .B \-z
- display only the archive comment.
- .PD
- .\" =========================================================================
- .SH MODIFIERS
- .TP
- .B \-a
- convert text files. Ordinarily all files are extracted exactly as they
- are stored (as ``binary'' files). The \fB\-a\fP option causes files identified
- by \fIzip\fP as text files (those with the `t' label in \fIzipinfo\fP
- listings, rather than `b') to be automatically extracted as such, converting
- line endings, end-of-file characters and the character set itself as necessary.
- (For example, Unix files use line feeds (LFs) for end-of-line (EOL) and
- have no end-of-file (EOF) marker; Macintoshes use carriage returns (CRs)
- for EOLs; and most PC operating systems use CR+LF for EOLs and control-Z for
- EOF. In addition, IBM mainframes and the Michigan Terminal System use EBCDIC
- rather than the more common ASCII character set, and NT supports Unicode.)
- Note that \fIzip\fP's identification of text files is by no means perfect; some
- ``text'' files may actually be binary and vice versa. \fIunzip\fP therefore
- prints ``\fC[text]\fR'' or ``\fC[binary]\fR'' as a visual check for each file
- it extracts when using the \fB\-a\fP option. The \fB\-aa\fP option forces
- all files to be extracted as text, regardless of the supposed file type.
- On VMS, see also \fB\-S\fP.
- .TP
- .B \-b
- [general] treat all files as binary (no text conversions). This is a shortcut
- for \fB\-\-\-a\fP.
- .TP
- .B \-b
- [Tandem] force the creation files with filecode type 180 ('C') when
- extracting Zip entries marked as "text". (On Tandem, \fB\-a\fP is enabled
- by default, see above).
- .TP
- .B \-b
- [VMS] auto-convert binary files (see \fB\-a\fP above) to fixed-length,
- 512-byte record format. Doubling the option (\fB\-bb\fP) forces all files
- to be extracted in this format. When extracting to standard output
- (\fB\-c\fP or \fB\-p\fP option in effect), the default conversion of text
- record delimiters is disabled for binary (\fB\-b\fP) resp. all (\fB\-bb\fP)
- files.
- .TP
- .B \-B
- [when compiled with UNIXBACKUP defined] save a backup copy of each
- overwritten file. The backup file is gets the name of the target file with
- a tilde and optionally a unique sequence number (up to 5 digits) appended.
- The sequence number is applied whenever another file with the original name
- plus tilde already exists. When used together with the "overwrite all"
- option \fB\-o\fP, numbered backup files are never created. In this case,
- all backup files are named as the original file with an appended tilde,
- existing backup files are deleted without notice.
- This feature works similarly to the default behavior of \fIemacs\fP(1)
- in many locations.
- .IP
- Example: the old copy of ``\fCfoo\fR'' is renamed to ``\fCfoo~\fR''.
- .IP
- Warning: Users should be aware that the \fB-B\fP option does not prevent
- loss of existing data under all circumstances. For example, when
- \fIunzip\fP is run in overwrite-all mode, an existing ``\fCfoo~\fR'' file
- is deleted before \fIunzip\fP attempts to rename ``\fCfoo\fR'' to
- ``\fCfoo~\fR''. When this rename attempt fails (because of a file locks,
- insufficient privileges, or ...), the extraction of ``\fCfoo~\fR'' gets
- cancelled, but the old backup file is already lost. A similar scenario
- takes place when the sequence number range for numbered backup files gets
- exhausted (99999, or 65535 for 16-bit systems). In this case, the backup
- file with the maximum sequence number is deleted and replaced by the new
- backup version without notice.
- .TP
- .B \-C
- use case-insensitive matching for the selection of archive entries
- from the command-line list of extract selection patterns.
- \fIunzip\fP's philosophy is ``you get what you ask for'' (this is
- also responsible for the \fB\-L\fP/\fB\-U\fP change; see the relevant
- options below). Because some file systems are fully case-sensitive
- (notably those under the Unix operating system) and because
- both ZIP archives and \fIunzip\fP itself are portable across platforms,
- \fIunzip\fP's default behavior is to match both wildcard and literal
- filenames case-sensitively. That is, specifying ``\fCmakefile\fR''
- on the command line will \fIonly\fP match ``makefile'' in the archive,
- not ``Makefile'' or ``MAKEFILE'' (and similarly for wildcard specifications).
- Since this does not correspond to the behavior of many other
- operating/file systems (for example, OS/2 HPFS, which preserves
- mixed case but is not sensitive to it), the \fB\-C\fP option may be
- used to force all filename matches to be case-insensitive. In the
- example above, all three files would then match ``\fCmakefile\fR''
- (or ``\fCmake*\fR'', or similar). The \fB\-C\fP option affects
- file specs in both the normal file list and the excluded-file list (xlist).
- .IP
- Please note that the \fB\-C\fP option does neither affect the search for
- the zipfile(s) nor the matching of archive entries to existing files on
- the extraction path. On a case-sensitive file system, \fIunzip\fP will
- never try to overwrite a file ``FOO'' when extracting an entry ``foo''!
- .TP
- .B \-D
- skip restoration of timestamps for extracted items. Normally, \fIunzip\fP
- tries to restore all meta-information for extracted items that are supplied
- in the Zip archive (and do not require privileges or impose a security risk).
- By specifying \fB\-D\fP, \fIunzip\fP is told to suppress restoration of
- timestamps for directories explicitly created from Zip archive entries.
- This option only applies to ports that support setting timestamps for
- directories (currently ATheOS, BeOS, MacOS, OS/2, Unix, VMS, Win32, for other
- \fIunzip\fP ports, \fB\-D\fP has no effect).
- The duplicated option \fB\-DD\fP forces suppression of timestamp restoration
- for all extracted entries (files and directories). This option results in
- setting the timestamps for all extracted entries to the current time.
- .IP
- On VMS, the default setting for this option is \fB\-D\fP for consistency
- with the behaviour of BACKUP: file timestamps are restored, timestamps of
- extracted directories are left at the current time. To enable restoration
- of directory timestamps, the negated option \fB\--D\fP should be specified.
- On VMS, the option \fB\-D\fP disables timestamp restoration for all extracted
- Zip archive items. (Here, a single \fB\-D\fP on the command line combines
- with the default \fB\-D\fP to do what an explicit \fB\-DD\fP does on other
- systems.)
- .TP
- .B \-E
- [MacOS only] display contents of MacOS extra field during restore operation.
- .TP
- .B \-F
- [Acorn only] suppress removal of NFS filetype extension from stored filenames.
- .TP
- .B \-F
- [non-Acorn systems supporting long filenames with embedded commas,
- and only if compiled with ACORN_FTYPE_NFS defined] translate
- filetype information from ACORN RISC OS extra field blocks into a
- NFS filetype extension and append it to the names of the extracted files.
- (When the stored filename appears to already have an appended NFS filetype
- extension, it is replaced by the info from the extra field.)
- .TP
- .B \-i
- [MacOS only] ignore filenames stored in MacOS extra fields. Instead, the
- most compatible filename stored in the generic part of the entry's header
- is used.
- .TP
- .B \-j
- junk paths. The archive's directory structure is not recreated; all files
- are deposited in the extraction directory (by default, the current one).
- .TP
- .B \-J
- [BeOS only] junk file attributes. The file's BeOS file attributes are not
- restored, just the file's data.
- .TP
- .B \-J
- [MacOS only] ignore MacOS extra fields. All Macintosh specific info
- is skipped. Data-fork and resource-fork are restored as separate files.
- .TP
- .B \-K
- [AtheOS, BeOS, Unix only] retain SUID/SGID/Tacky file attributes. Without
- this flag, these attribute bits are cleared for security reasons.
- .TP
- .B \-L
- convert to lowercase any filename originating on an uppercase-only operating
- system or file system. (This was \fIunzip\fP's default behavior in releases
- prior to 5.11; the new default behavior is identical to the old behavior with
- the \fB\-U\fP option, which is now obsolete and will be removed in a future
- release.) Depending on the archiver, files archived under single-case
- file systems (VMS, old MS-DOS FAT, etc.) may be stored as all-uppercase names;
- this can be ugly or inconvenient when extracting to a case-preserving
- file system such as OS/2 HPFS or a case-sensitive one such as under
- Unix. By default \fIunzip\fP lists and extracts such filenames exactly as
- they're stored (excepting truncation, conversion of unsupported characters,
- etc.); this option causes the names of all files from certain systems to be
- converted to lowercase. The \fB\-LL\fP option forces conversion of every
- filename to lowercase, regardless of the originating file system.
- .TP
- .B \-M
- pipe all output through an internal pager similar to the Unix \fImore\fP(1)
- command. At the end of a screenful of output, \fIunzip\fP pauses with a
- ``\-\-More\-\-'' prompt; the next screenful may be viewed by pressing the
- Enter (Return) key or the space bar. \fIunzip\fP can be terminated by
- pressing the ``q'' key and, on some systems, the Enter/Return key. Unlike
- Unix \fImore\fP(1), there is no forward-searching or editing capability.
- Also, \fIunzip\fP doesn't notice if long lines wrap at the edge of the screen,
- effectively resulting in the printing of two or more lines and the likelihood
- that some text will scroll off the top of the screen before being viewed.
- On some systems the number of available lines on the screen is not detected,
- in which case \fIunzip\fP assumes the height is 24 lines.
- .TP
- .B \-n
- never overwrite existing files. If a file already exists, skip the extraction
- of that file without prompting. By default \fIunzip\fP queries before
- extracting any file that already exists; the user may choose to overwrite
- only the current file, overwrite all files, skip extraction of the current
- file, skip extraction of all existing files, or rename the current file.
- .TP
- .B \-N
- [Amiga] extract file comments as Amiga filenotes. File comments are created
- with the \-c option of \fIzip\fP(1), or with the \-N option of the Amiga port
- of \fIzip\fP(1), which stores filenotes as comments.
- .TP
- .B \-o
- overwrite existing files without prompting. This is a dangerous option, so
- use it with care. (It is often used with \fB\-f\fP, however, and is the only
- way to overwrite directory EAs under OS/2.)
- .IP \fB\-P\fP\ \fIpassword\fP
- use \fIpassword\fP to decrypt encrypted zipfile entries (if any). \fBTHIS IS
- INSECURE!\fP Many multi-user operating systems provide ways for any user to
- see the current command line of any other user; even on stand-alone systems
- there is always the threat of over-the-shoulder peeking. Storing the plaintext
- password as part of a command line in an automated script is even worse.
- Whenever possible, use the non-echoing, interactive prompt to enter passwords.
- (And where security is truly important, use strong encryption such as Pretty
- Good Privacy instead of the relatively weak encryption provided by standard
- zipfile utilities.)
- .TP
- .B \-q
- perform operations quietly (\fB\-qq\fP = even quieter). Ordinarily \fIunzip\fP
- prints the names of the files it's extracting or testing, the extraction
- methods, any file or zipfile comments that may be stored in the archive,
- and possibly a summary when finished with each archive. The \fB\-q\fP[\fBq\fP]
- options suppress the printing of some or all of these messages.
- .TP
- .B \-s
- [OS/2, NT, MS-DOS] convert spaces in filenames to underscores. Since all PC
- operating systems allow spaces in filenames, \fIunzip\fP by default extracts
- filenames with spaces intact (e.g., ``\fCEA\ DATA.\ SF\fR''). This can be
- awkward, however, since MS-DOS in particular does not gracefully support
- spaces in filenames. Conversion of spaces to underscores can eliminate the
- awkwardness in some cases.
- .TP
- .B \-S
- [VMS] convert text files (\fB\-a\fP, \fB\-aa\fP) into Stream_LF record format,
- instead of the text-file default, variable-length record format.
- (Stream_LF is the default record format of VMS \fIunzip\fP. It is applied
- unless conversion (\fB\-a\fP, \fB\-aa\fP and/or \fB\-b\fP, \fB\-bb\fP) is
- requested or a VMS-specific entry is processed.)
- .TP
- .B \-U
- [UNICODE_SUPPORT only] modify or disable UTF-8 handling.
- When UNICODE_SUPPORT is available, the option \fB\-U\fP forces \fIunzip\fP
- to escape all non-ASCII characters from UTF-8 coded filenames as ``#Uxxxx''
- (for UCS-2 characters, or ``#Lxxxxxx'' for unicode codepoints needing 3
- octets). This option is mainly provided for debugging purpose when the
- fairly new UTF-8 support is suspected to mangle up extracted filenames.
- .IP
- The option \fB\-UU\fP allows to entirely disable the recognition of UTF-8
- encoded filenames. The handling of filename codings within \fIunzip\fP falls
- back to the behaviour of previous versions.
- .IP
- [old, obsolete usage] leave filenames uppercase if
- created under MS-DOS, VMS, etc. See \fB\-L\fP above.
- .TP
- .B \-V
- retain (VMS) file version numbers. VMS files can be stored with a version
- number, in the format \fCfile.ext;##\fR. By default the ``\fC;##\fR'' version
- numbers are stripped, but this option allows them to be retained. (On
- file systems that limit filenames to particularly short lengths, the version
- numbers may be truncated or stripped regardless of this option.)
- .TP
- .B \-W
- [only when WILD_STOP_AT_DIR compile-time option enabled]
- modifies the pattern matching routine so that both `?' (single-char wildcard)
- and `*' (multi-char wildcard) do not match the directory separator character
- `/'. (The two-character sequence ``**'' acts as a multi-char wildcard that
- includes the directory separator in its matched characters.) Examples:
- .PP
- .EX
- "*.c" matches "foo.c" but not "mydir/foo.c"
- "**.c" matches both "foo.c" and "mydir/foo.c"
- "*/*.c" matches "bar/foo.c" but not "baz/bar/foo.c"
- "??*/*" matches "ab/foo" and "abc/foo"
- but not "a/foo" or "a/b/foo"
- .EE
- .IP
- This modified behaviour is equivalent to the pattern matching style
- used by the shells of some of UnZip's supported target OSs (one
- example is Acorn RISC OS). This option may not be available on systems
- where the Zip archive's internal directory separator character `/' is
- allowed as regular character in native operating system filenames.
- (Currently, UnZip uses the same pattern matching rules for both wildcard
- zipfile specifications and zip entry selection patterns in most ports.
- For systems allowing `/' as regular filename character, the -W option
- would not work as expected on a wildcard zipfile specification.)
- .TP
- .B \-X
- [VMS, Unix, OS/2, NT, Tandem] restore owner/protection info (UICs and ACL
- entries) under VMS, or user and group info (UID/GID) under Unix, or access
- control lists (ACLs) under certain network-enabled versions of OS/2
- (Warp Server with IBM LAN Server/Requester 3.0 to 5.0; Warp Connect with
- IBM Peer 1.0), or security ACLs under Windows NT. In most cases this will
- require special system privileges, and doubling the option (\fB\-XX\fP)
- under NT instructs \fIunzip\fP to use privileges for extraction; but under
- Unix, for example, a user who belongs to several groups can restore files
- owned by any of those groups, as long as the user IDs match his or her own.
- Note that ordinary file attributes are always restored--this option applies
- only to optional, extra ownership info available on some operating systems.
- [NT's access control lists do not appear to be especially compatible with
- OS/2's, so no attempt is made at cross-platform portability of access
- privileges. It is not clear under what conditions this would ever be
- useful anyway.]
- .TP
- .B \-Y
- [VMS] treat archived file name endings of ``.nnn'' (where ``nnn'' is a
- decimal number) as if they were VMS version numbers (``;nnn'').
- (The default is to treat them as file types.) Example:
- .EX
- "a.b.3" -> "a.b;3".
- .EE
- .TP
- .B \-$
- .\" Amiga support possible eventually, but not yet
- [MS-DOS, OS/2, NT] restore the volume label if the extraction medium is
- removable (e.g., a diskette). Doubling the option (\fB\-$$\fP) allows fixed
- media (hard disks) to be labelled as well. By default, volume labels are
- ignored.
- .IP \fB\-/\fP\ \fIextensions\fP
- [Acorn only] overrides the extension list supplied by Unzip$Ext environment
- variable. During extraction, filename extensions that match one of the items
- in this extension list are swapped in front of the base name of the extracted
- file.
- .TP
- .B \-:
- [all but Acorn, VM/CMS, MVS, Tandem] allows to extract archive members into
- locations outside of the current `` extraction root folder''. For security
- reasons, \fIunzip\fP normally removes ``parent dir'' path components
- (``../'') from the names of extracted file. This safety feature (new for
- version 5.50) prevents \fIunzip\fP from accidentally writing files to
- ``sensitive'' areas outside the active extraction folder tree head. The
- \fB\-:\fP option lets \fIunzip\fP switch back to its previous, more liberal
- behaviour, to allow exact extraction of (older) archives that used ``../''
- components to create multiple directory trees at the level of the current
- extraction folder. This option does not enable writing explicitly to the
- root directory (``/''). To achieve this, it is necessary to set the
- extraction target folder to root (e.g. \fB\-d / \fP). However, when the
- \fB\-:\fP option is specified, it is still possible to implicitly write to
- the root directory by specifying enough ``../'' path components within the
- zip archive.
- Use this option with extreme caution.
- .TP
- .B \-^
- [Unix only] allow control characters in names of extracted ZIP archive
- entries. On Unix, a file name may contain any (8-bit) character code with
- the two exception '/' (directory delimiter) and NUL (0x00, the C string
- termination indicator), unless the specific file system has more
- restrictive conventions. Generally, this allows to embed ASCII control
- characters (or even sophisticated control sequences) in file names, at least
- on 'native' Unix file systems. However, it may be highly suspicious to
- make use of this Unix "feature". Embedded control characters in file names
- might have nasty side effects when displayed on screen by some listing code
- without sufficient filtering. And, for ordinary users, it may be difficult
- to handle such file names (e.g. when trying to specify it for open, copy,
- move, or delete operations). Therefore, \fIunzip\fP applies a filter by
- default that removes potentially dangerous control characters from the
- extracted file names. The \fB-^\fP option allows to override this filter
- in the rare case that embedded filename control characters are to be
- intentionally restored.
- .TP
- .B \-2
- [VMS] force unconditionally conversion of file names to ODS2-compatible
- names. The default is to exploit the destination file system, preserving
- case and extended file name characters on an ODS5 destination file system;
- and applying the ODS2-compatibility file name filtering on an ODS2 destination
- file system.
- .PD
- .\" =========================================================================
- .SH "ENVIRONMENT OPTIONS"
- \fIunzip\fP's default behavior may be modified via options placed in
- an environment variable. This can be done with any option, but it
- is probably most useful with the \fB\-a\fP, \fB\-L\fP, \fB\-C\fP, \fB\-q\fP,
- \fB\-o\fP, or \fB\-n\fP modifiers: make \fIunzip\fP auto-convert text
- files by default, make it convert filenames from uppercase systems to
- lowercase, make it match names case-insensitively, make it quieter,
- or make it always overwrite or never overwrite files as it extracts
- them. For example, to make \fIunzip\fP act as quietly as possible, only
- reporting errors, one would use one of the following commands:
- .TP
- Unix Bourne shell:
- UNZIP=\-qq; export UNZIP
- .TP
- Unix C shell:
- setenv UNZIP \-qq
- .TP
- OS/2 or MS-DOS:
- set UNZIP=\-qq
- .TP
- VMS (quotes for \fIlowercase\fP):
- define UNZIP_OPTS "\-qq"
- .PP
- Environment options are, in effect, considered to be just like any other
- command-line options, except that they are effectively the first options
- on the command line. To override an environment option, one may use the
- ``minus operator'' to remove it. For instance, to override one of the
- quiet-flags in the example above, use the command
- .PP
- .EX
- unzip \-\-q[\fIother options\fP] zipfile
- .EE
- .PP
- The first hyphen is the normal
- switch character, and the second is a minus sign, acting on the q option.
- Thus the effect here is to cancel one quantum of quietness. To cancel
- both quiet flags, two (or more) minuses may be used:
- .PP
- .EX
- unzip \-t\-\-q zipfile
- unzip \-\-\-qt zipfile
- .EE
- .PP
- (the two are equivalent). This may seem awkward
- or confusing, but it is reasonably intuitive: just ignore the first
- hyphen and go from there. It is also consistent with the behavior of
- Unix \fInice\fP(1).
- .PP
- As suggested by the examples above, the default variable names are UNZIP_OPTS
- for VMS (where the symbol used to install \fIunzip\fP as a foreign command
- would otherwise be confused with the environment variable), and UNZIP
- for all other operating systems. For compatibility with \fIzip\fP(1),
- UNZIPOPT is also accepted (don't ask). If both UNZIP and UNZIPOPT
- are defined, however, UNZIP takes precedence. \fIunzip\fP's diagnostic
- option (\fB\-v\fP with no zipfile name) can be used to check the values
- of all four possible \fIunzip\fP and \fIzipinfo\fP environment variables.
- .PP
- The timezone variable (TZ) should be set according to the local timezone
- in order for the \fB\-f\fP and \fB\-u\fP to operate correctly. See the
- description of \fB\-f\fP above for details. This variable may also be
- necessary to get timestamps of extracted files to be set correctly.
- The WIN32 (Win9x/ME/NT4/2K/XP/2K3) port of \fIunzip\fP gets the timezone
- configuration from the registry, assuming it is correctly set in the
- Control Panel. The TZ variable is ignored for this port.
- .PD
- .\" =========================================================================
- .SH DECRYPTION
- Encrypted archives are fully supported by Info-ZIP software, but due to
- United States export restrictions, de-/encryption support might be disabled
- in your compiled binary. However, since spring 2000, US export restrictions
- have been liberated, and our source archives do now include full crypt code.
- In case you need binary distributions with crypt support enabled, see the
- file ``WHERE'' in any Info-ZIP source or binary distribution for locations
- both inside and outside the US.
- .PP
- Some compiled versions of \fIunzip\fP may not support decryption.
- To check a version for crypt support, either attempt to test or extract
- an encrypted archive, or else check \fIunzip\fP's diagnostic
- screen (see the \fB\-v\fP option above) for ``\fC[decryption]\fR'' as one
- of the special compilation options.
- .PP
- As noted above, the \fB\-P\fP option may be used to supply a password on
- the command line, but at a cost in security. The preferred decryption
- method is simply to extract normally; if a zipfile member is encrypted,
- \fIunzip\fP will prompt for the password without echoing what is typed.
- \fIunzip\fP continues to use the same password as long as it appears to be
- valid, by testing a 12-byte header on each file. The correct password will
- always check out against the header, but there is a 1-in-256 chance that an
- incorrect password will as well. (This is a security feature of the PKWARE
- zipfile format; it helps prevent brute-force attacks that might otherwise
- gain a large speed advantage by testing only the header.) In the case that
- an incorrect password is given but it passes the header test anyway, either
- an incorrect CRC will be generated for the extracted data or else \fIunzip\fP
- will fail during the extraction because the ``decrypted'' bytes do not
- constitute a valid compressed data stream.
- .PP
- If the first password fails the header check on some file, \fIunzip\fP will
- prompt for another password, and so on until all files are extracted. If
- a password is not known, entering a null password (that is, just a carriage
- return or ``Enter'') is taken as a signal to skip all further prompting.
- Only unencrypted files in the archive(s) will thereafter be extracted. (In
- fact, that's not quite true; older versions of \fIzip\fP(1) and
- \fIzipcloak\fP(1) allowed null passwords, so \fIunzip\fP checks each encrypted
- file to see if the null password works. This may result in ``false positives''
- and extraction errors, as noted above.)
- .PP
- Archives encrypted with 8-bit passwords (for example, passwords with accented
- European characters) may not be portable across systems and/or other
- archivers. This problem stems from the use of multiple encoding methods for
- such characters, including Latin-1 (ISO 8859-1) and OEM code page 850.
- DOS \fIPKZIP\fP 2.04g uses the OEM code page; Windows \fIPKZIP\fP 2.50
- uses Latin-1 (and is therefore incompatible with DOS \fIPKZIP\fP); Info-ZIP
- uses the OEM code page on DOS, OS/2 and Win3.x ports but ISO coding
- (Latin-1 etc.) everywhere else; and Nico Mak's \fIWinZip\fP 6.x does not
- allow 8-bit passwords at all. \fIUnZip\fP 5.3 (or newer) attempts to use
- the default character set first (e.g., Latin-1), followed by the alternate
- one (e.g., OEM code page) to test passwords. On EBCDIC systems, if both
- of these fail, EBCDIC encoding will be tested as a last resort. (EBCDIC is
- not tested on non-EBCDIC systems, because there are no known archivers
- that encrypt using EBCDIC encoding.) ISO character encodings other than
- Latin-1 are not supported. The new addition of (partially) Unicode (resp.
- UTF-8) support in \fIUnZip\fP 6.0 has not yet been adapted to the encryption
- password handling in \fIunzip\fP. On systems that use UTF-8 as native
- character encoding, \fIunzip\fP simply tries decryption with the native
- UTF-8 encoded password; the built-in attempts to check the password in
- translated encoding have not yet been adapted for UTF-8 support and
- will consequently fail.
- .PD
- .\" =========================================================================
- .SH EXAMPLES
- To use \fIunzip\fP to extract all members of the archive \fIletters.zip\fP
- into the current directory and subdirectories below it, creating any
- subdirectories as necessary:
- .PP
- .EX
- unzip letters
- .EE
- .PP
- To extract all members of \fIletters.zip\fP into the current directory only:
- .PP
- .EX
- unzip -j letters
- .EE
- .PP
- To test \fIletters.zip\fP, printing only a summary message indicating
- whether the archive is OK or not:
- .PP
- .EX
- unzip -tq letters
- .EE
- .PP
- To test \fIall\fP zipfiles in the current directory, printing only the
- summaries:
- .PP
- .EX
- unzip -tq \e*.zip
- .EE
- .PP
- (The backslash before the asterisk is only required if the shell expands
- wildcards, as in Unix; double quotes could have been used instead, as in
- the source examples below.)\ \ To extract to standard output all members of
- \fIletters.zip\fP whose names end in \fI.tex\fP, auto-converting to the
- local end-of-line convention and piping the output into \fImore\fP(1):
- .PP
- .EX
- unzip \-ca letters \e*.tex | more
- .EE
- .PP
- To extract the binary file \fIpaper1.dvi\fP to standard output and pipe it
- to a printing program:
- .PP
- .EX
- unzip \-p articles paper1.dvi | dvips
- .EE
- .PP
- To extract all FORTRAN and C source files--*.f, *.c, *.h, and Makefile--into
- the /tmp directory:
- .PP
- .EX
- unzip source.zip "*.[fch]" Makefile -d /tmp
- .EE
- .PP
- (the double quotes are necessary only in Unix and only if globbing is turned
- on). To extract all FORTRAN and C source files, regardless of case (e.g.,
- both *.c and *.C, and any makefile, Makefile, MAKEFILE or similar):
- .PP
- .EX
- unzip \-C source.zip "*.[fch]" makefile -d /tmp
- .EE
- .PP
- To extract any such files but convert any uppercase MS-DOS or VMS names to
- lowercase and convert the line-endings of all of the files to the local
- standard (without respect to any files that might be marked ``binary''):
- .PP
- .EX
- unzip \-aaCL source.zip "*.[fch]" makefile -d /tmp
- .EE
- .PP
- To extract only newer versions of the files already in the current
- directory, without querying (NOTE: be careful of unzipping in one timezone a
- zipfile created in another--ZIP archives other than those created by Zip 2.1
- or later contain no timezone information, and a ``newer'' file from an eastern
- timezone may, in fact, be older):
- .PP
- .EX
- unzip \-fo sources
- .EE
- .PP
- To extract newer versions of the files already in the current directory and
- to create any files not already there (same caveat as previous example):
- .PP
- .EX
- unzip \-uo sources
- .EE
- .PP
- To display a diagnostic screen showing which \fIunzip\fP and \fIzipinfo\fP
- options are stored in environment variables, whether decryption support was
- compiled in, the compiler with which \fIunzip\fP was compiled, etc.:
- .PP
- .EX
- unzip \-v
- .EE
- .PP
- In the last five examples, assume that UNZIP or UNZIP_OPTS is set to -q.
- To do a singly quiet listing:
- .PP
- .EX
- unzip \-l file.zip
- .EE
- .PP
- To do a doubly quiet listing:
- .PP
- .EX
- unzip \-ql file.zip
- .EE
- .PP
- (Note that the ``\fC.zip\fR'' is generally not necessary.) To do a standard
- listing:
- .PP
- .EX
- unzip \-\-ql file.zip
- .EE
- or
- .EX
- unzip \-l\-q file.zip
- .EE
- or
- .EX
- unzip \-l\-\-q file.zip
- .EE
- \fR(Extra minuses in options don't hurt.)
- .PD
- .\" =========================================================================
- .SH TIPS
- The current maintainer, being a lazy sort, finds it very useful to define
- a pair of aliases: \fCtt\fR for ``\fCunzip \-tq\fR'' and \fCii\fR for
- ``\fCunzip \-Z\fR'' (or ``\fCzipinfo\fR''). One may then simply type
- ``\fCtt zipfile\fR'' to test an archive, something that is worth making a
- habit of doing. With luck \fIunzip\fP will report ``\fCNo errors detected
- in compressed data of zipfile.zip\fR,'' after which one may breathe a sigh
- of relief.
- .PP
- The maintainer also finds it useful to set the UNZIP environment variable
- to ``\fC\-aL\fR'' and is tempted to add ``\fC\-C\fR'' as well. His ZIPINFO
- variable is set to ``\fC\-z\fR''.
- .PD
- .\" =========================================================================
- .SH DIAGNOSTICS
- The exit status (or error level) approximates the exit codes defined by PKWARE
- and takes on the following values, except under VMS:
- .RS
- .IP 0
- normal; no errors or warnings detected.
- .IP 1
- one or more warning errors were encountered, but processing completed
- successfully anyway. This includes zipfiles where one or more files
- was skipped due to unsupported compression method or encryption with an
- unknown password.
- .IP 2
- a generic error in the zipfile format was detected. Processing may have
- completed successfully anyway; some broken zipfiles created by other
- archivers have simple work-arounds.
- .IP 3
- a severe error in the zipfile format was detected. Processing probably
- failed immediately.
- .IP 4
- \fIunzip\fP was unable to allocate memory for one or more buffers during
- program initialization.
- .IP 5
- \fIunzip\fP was unable to allocate memory or unable to obtain a tty to read
- the decryption password(s).
- .IP 6
- \fIunzip\fP was unable to allocate memory during decompression to disk.
- .IP 7
- \fIunzip\fP was unable to allocate memory during in-memory decompression.
- .IP 8
- [currently not used]
- .IP 9
- the specified zipfiles were not found.
- .IP 10
- invalid options were specified on the command line.
- .IP 11
- no matching files were found.
- .IP 50
- the disk is (or was) full during extraction.
- .IP 51
- the end of the ZIP archive was encountered prematurely.
- .IP 80
- the user aborted \fIunzip\fP prematurely with control-C (or similar)
- .IP 81
- testing or extraction of one or more files failed due to unsupported
- compression methods or unsupported decryption.
- .IP 82
- no files were found due to bad decryption password(s). (If even one file is
- successfully processed, however, the exit status is 1.)
- .RE
- .PP
- VMS interprets standard Unix (or PC) return values as other, scarier-looking
- things, so \fIunzip\fP instead maps them into VMS-style status codes. The
- current mapping is as follows: 1 (success) for normal exit, 0x7fff0001
- for warning errors, and (0x7fff000? + 16*normal_unzip_exit_status) for all
- other errors, where the `?' is 2 (error) for \fIunzip\fP values 2, 9-11 and
- 80-82, and 4 (fatal error) for the remaining ones (3-8, 50, 51). In addition,
- there is a compilation option to expand upon this behavior: defining
- RETURN_CODES results in a human-readable explanation of what the error
- status means.
- .PD
- .\" =========================================================================
- .SH BUGS
- Multi-part archives are not yet supported, except in conjunction with
- \fIzip\fP. (All parts must be concatenated together in order, and then
- ``\fCzip \-F\fR'' (for \fIzip 2.x\fP) or ``\fCzip \-FF\fR'' (for
- \fIzip 3.x\fP) must be performed on the concatenated archive in order to
- ``fix'' it. Also, \fIzip 3.0\fP and later can combine multi-part (split)
- archives into a combined single-file archive using ``\fCzip \-s\- inarchive
- -O outarchive\fR''. See the \fIzip 3\fP manual page for more information.)
- This will definitely be corrected in the next major release.
- .PP
- Archives read from standard input are not yet supported, except with
- \fIfunzip\fP (and then only the first member of the archive can be extracted).
- .PP
- Archives encrypted with 8-bit passwords (e.g., passwords with accented
- European characters) may not be portable across systems and/or other
- archivers. See the discussion in \fBDECRYPTION\fP above.
- .PP
- \fIunzip\fP's \fB\-M\fP (``more'') option tries to take into account automatic
- wrapping of long lines. However, the code may fail to detect the correct
- wrapping locations. First, TAB characters (and similar control sequences) are
- not taken into account, they are handled as ordinary printable characters.
- Second, depending on the actual system / OS port, \fIunzip\fP may not detect
- the true screen geometry but rather rely on "commonly used" default dimensions.
- The correct handling of tabs would require the implementation of a query for
- the actual tabulator setup on the output console.
- .PP
- Dates, times and permissions of stored directories are not restored except
- under Unix. (On Windows NT and successors, timestamps are now restored.)
- .PP
- [MS-DOS] When extracting or testing files from an archive on a defective
- floppy diskette, if the ``Fail'' option is chosen from DOS's ``Abort, Retry,
- Fail?'' message, older versions of \fIunzip\fP may hang the system, requiring
- a reboot. This problem appears to be fixed, but control-C (or control-Break)
- can still be used to terminate \fIunzip\fP.
- .PP
- Under DEC Ultrix, \fIunzip\fP would sometimes fail on long zipfiles (bad CRC,
- not always reproducible). This was apparently due either to a hardware bug
- (cache memory) or an operating system bug (improper handling of page faults?).
- Since Ultrix has been abandoned in favor of Digital Unix (OSF/1), this may not
- be an issue anymore.
- .PP
- [Unix] Unix special files such as FIFO buffers (named pipes), block devices
- and character devices are not restored even if they are somehow represented
- in the zipfile, nor are hard-linked files relinked. Basically the only file
- types restored by \fIunzip\fP are regular files, directories and symbolic
- (soft) links.
- .PP
- [OS/2] Extended attributes for existing directories are only updated if the
- \fB\-o\fP (``overwrite all'') option is given. This is a limitation of the
- operating system; because directories only have a creation time associated
- with them, \fIunzip\fP has no way to determine whether the stored attributes
- are newer or older than those on disk. In practice this may mean a two-pass
- approach is required: first unpack the archive normally (with or without
- freshening/updating existing files), then overwrite just the directory entries
- (e.g., ``\fCunzip -o foo */\fR'').
- .PP
- [VMS] When extracting to another directory, only the \fI[.foo]\fP syntax is
- accepted for the \fB\-d\fP option; the simple Unix \fIfoo\fP syntax is
- silently ignored (as is the less common VMS \fIfoo.dir\fP syntax).
- .PP
- [VMS] When the file being extracted already exists, \fIunzip\fP's query only
- allows skipping, overwriting or renaming; there should additionally be a
- choice for creating a new version of the file. In fact, the ``overwrite''
- choice does create a new version; the old version is not overwritten or
- deleted.
- .PD
- .\" =========================================================================
- .SH "SEE ALSO"
- \fIfunzip\fP(1), \fIzip\fP(1), \fIzipcloak\fP(1), \fIzipgrep\fP(1),
- \fIzipinfo\fP(1), \fIzipnote\fP(1), \fIzipsplit\fP(1)
- .PD
- .\" =========================================================================
- .SH URL
- The Info-ZIP home page is currently at
- .EX
- \fChttp://www.info-zip.org/pub/infozip/\fR
- .EE
- or
- .EX
- \fCftp://ftp.info-zip.org/pub/infozip/\fR .
- .EE
- .PD
- .\" =========================================================================
- .SH AUTHORS
- The primary Info-ZIP authors (current semi-active members of the Zip-Bugs
- workgroup) are: Ed Gordon (Zip, general maintenance, shared code, Zip64,
- Win32, Unix, Unicode); Christian Spieler (UnZip maintenance coordination,
- VMS, MS-DOS, Win32, shared code, general Zip and UnZip integration and
- optimization); Onno van der Linden (Zip); Mike White (Win32, Windows GUI,
- Windows DLLs); Kai Uwe Rommel (OS/2, Win32); Steven M. Schweda (VMS, Unix,
- support of new features); 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, Info-ZIP Site maintenance); Steve Salisbury (Win32);
- Steve Miller (Windows CE GUI), Johnny Lee (MS-DOS, Win32, Zip64); and Dave
- Smith (Tandem NSK).
- .PP
- The following people were former members of the Info-ZIP development group
- and provided major contributions to key parts of the current code:
- Greg ``Cave Newt'' Roelofs (UnZip, unshrink decompression);
- Jean-loup Gailly (deflate compression);
- Mark Adler (inflate decompression, fUnZip).
- .PP
- The author of the original unzip code upon which Info-ZIP's was based
- is Samuel H. Smith; Carl Mascott did the first Unix port; and David P.
- Kirschbaum organized and led Info-ZIP in its early days with Keith Petersen
- hosting the original mailing list at WSMR-SimTel20. The full list of
- contributors to UnZip has grown quite large; please refer to the CONTRIBS
- file in the UnZip source distribution for a relatively complete version.
- .PD
- .\" =========================================================================
- .SH VERSIONS
- .ta \w'vx.xxnn'u +\w'fall 1989'u+3n
- .PD 0
- .IP "v1.2\t15 Mar 89" \w'\t\t'u
- Samuel H. Smith
- .IP "v2.0\t\ 9 Sep 89"
- Samuel H. Smith
- .IP "v2.x\tfall 1989"
- many Usenet contributors
- .IP "v3.0\t\ 1 May 90"
- Info-ZIP (DPK, consolidator)
- .IP "v3.1\t15 Aug 90"
- Info-ZIP (DPK, consolidator)
- .IP "v4.0\t\ 1 Dec 90"
- Info-ZIP (GRR, maintainer)
- .IP "v4.1\t12 May 91"
- Info-ZIP
- .IP "v4.2\t20 Mar 92"
- Info-ZIP (Zip-Bugs subgroup, GRR)
- .IP "v5.0\t21 Aug 92"
- Info-ZIP (Zip-Bugs subgroup, GRR)
- .IP "v5.01\t15 Jan 93"
- Info-ZIP (Zip-Bugs subgroup, GRR)
- .IP "v5.1\t\ 7 Feb 94"
- Info-ZIP (Zip-Bugs subgroup, GRR)
- .IP "v5.11\t\ 2 Aug 94"
- Info-ZIP (Zip-Bugs subgroup, GRR)
- .IP "v5.12\t28 Aug 94"
- Info-ZIP (Zip-Bugs subgroup, GRR)
- .IP "v5.2\t30 Apr 96"
- Info-ZIP (Zip-Bugs subgroup, GRR)
- .IP "v5.3\t22 Apr 97"
- Info-ZIP (Zip-Bugs subgroup, GRR)
- .IP "v5.31\t31 May 97"
- Info-ZIP (Zip-Bugs subgroup, GRR)
- .IP "v5.32\t\ 3 Nov 97"
- Info-ZIP (Zip-Bugs subgroup, GRR)
- .IP "v5.4\t28 Nov 98"
- Info-ZIP (Zip-Bugs subgroup, SPC)
- .IP "v5.41\t16 Apr 00"
- Info-ZIP (Zip-Bugs subgroup, SPC)
- .IP "v5.42\t14 Jan 01"
- Info-ZIP (Zip-Bugs subgroup, SPC)
- .IP "v5.5\t17 Feb 02"
- Info-ZIP (Zip-Bugs subgroup, SPC)
- .IP "v5.51\t22 May 04"
- Info-ZIP (Zip-Bugs subgroup, SPC)
- .IP "v5.52\t28 Feb 05"
- Info-ZIP (Zip-Bugs subgroup, SPC)
- .IP "v6.0\t20 Apr 09"
- Info-ZIP (Zip-Bugs subgroup, SPC)
- .PD
|