svcadm(1M)을 검색하려면 섹션에서 1M 을 선택하고, 맨 페이지 이름에 svcadm을 입력하고 검색을 누른다.
unzip(1)
UNZIP(1) General Commands Manual UNZIP(1)
NAME
unzip - extract, list, or test compressed files in a ZIP archive.
SYNOPSIS
unzip [ unzip_options ] [ file[.zip] ] [ member ... ]
unzip -Z [ zipinfo_options ] [ file[.zip] ] [ member ... ]
DESCRIPTION
UnZip extracts, lists, or tests files in a ZIP archive (an archive for‐
mat commonly used on many different systems). The default behavior
(with no options) is to extract into the current directory (and subdi‐
rectories below it) all files from the specified ZIP archive. A com‐
panion program, Zip, creates ZIP archives.
Info-ZIP UnZip and Zip were intended to be compatible with archives
created by PKWARE's PKZIP and PKUNZIP programs (originally for MS-DOS),
but in many cases the program options or default behaviors differ.
Nowadays, many other programs are available which work with ZIP ar‐
chives.
Note: Beginning with UnZip version 6.1, the old command-line parser has
been replaced by one like the one used in Zip (version 3.0 and later).
One significant change is that option negation now uses a TRAILING
hyphen ("-"), so, for example, -B- negates the -B option. This change
was made because a double hyphen ("--") now introduces a long option.
To display the basic built-in help, use the command:
unzip -h
To display the extended built-in help, use the command:
unzip -hh
The built-in help may be more current than this manual page, especially
between full product releases.
To list all available options for a particular UnZip program, use the
command:
unzip --show-options
This report will not include any options which are available only on
other system types, or options which must be enabled at build-time but
were not enabled in the particular UnZip program being used.
[VMS] On VMS, alternate program editions with VMS-style command-line
interfaces are also available. For details, see the VMS-specific docu‐
mentation.
ARGUMENTS
file[.zip]
File path/name of a ZIP archive. A wildcard name may be used to
specify multiple ZIP archives to be processed in one command.
On VMS systems, any of the standard wildcards for a direc‐
tory/file specification may be used: "...", "*", or "%" (or,
since VMS V7.2, "?"). On non-VMS systems, a wildcard name may
be used only in the filename part of the file specification, not
in the directory part, and, on Unix, characters which are spe‐
cial to the shell must be escaped or quoted to protect them from
processing by the shell. If a wildcard is used, then each
matching archive file is processed in an order determined by the
operating system or shell (or file system). Non-VMS wildcard
expressions are similar to those supported (for "globbing") in
commonly used Unix shells (csh, ksh, sh, and so on) and may con‐
tain:
* Matches a sequence of 0 or more characters.
? Matches exactly 1 character.
[...] 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 ("^") follows the left bracket, then the range
of characters within the brackets is complemented. That
is, anything except the characters inside the brackets is
considered a match. To specify a literal left bracket,
use the three-character sequence "[[]".
If no wildcard matches are found, then the specification is
assumed to be a literal filename. If that also fails, then the
suffix ".zip" and/or ".ZIP" is appended, and the resulting name
is tried. (For this reason, if a non-existent file is speci‐
fied, then the resulting error message may mention these other
names with their ".zip" or ".ZIP" suffixes.)
Note that a ".zip" or ".ZIP" name ending on an archive is merely
a convention, not a requirement. For example, a self-extracting
ZIP archive named "fred" or "fred.exe" could be processed as if
it were an ordinary archive; just specify the actual file name
with its actual name ending (if any), whatever that may be.
Strictly speaking, an archive name is optional, but, except in a
special case like "unzip -v", it's difficult to do much useful
work without specifying an archive.
member ...
An optional list of archive members to be processed, separated
by spaces. If no member list is specified, then all archive
members are processed. Wildcard patterns (like those used for
an archive file name on Unix, described above) may be used to
match multiple members. Again, be sure to quote expressions
that would otherwise be expanded or modified by the operating
system or shell.
On Mac OS X systems, file attributes, a resource fork, and simi‐
lar data may be stored in a separate AppleDouble archive member
which has a "._" name prefix. When restoring files with such
attributes (no -J/--junk-attrs option, and the destination file
system supports such attributes), if the user specifies only the
main archive member, then UnZip should automatically handle the
corresponding AppleDouble archive member. If -J/--junk-attrs is
specified, or the destination file system does not support such
file attributes (so that an AppleDouble archive member will be
stored as a separate file), then AppleDouble archive members are
not handled automatically, and the user must specify patterns
which explicitly include any desired AppleDouble archive mem‐
bers.
On VMS systems, the wildcard rules used for archive members are
the same as on Unix systems. VMS wildcard rules are used only
for archive file specifications, not for archive member pat‐
terns.
OPTIONS
UnZip's usage summary ("unzip -h") is kept short to try to accommodate
small terminal/emulator screens, so it's normally incomplete. The
option list below should be complete.
OPTIONS (ZipInfo Mode)
-Z
--zipinfo-mode
ZipInfo mode. If the first option on the command line is -Z,
then the program runs in ZipInfo mode. Remaining options are
interpreted as ZipInfo options. See the zipinfo manual page for
a description of those options.
OPTIONS (Primary Mode)
Options in this group (-c -f -h -l -p -T -t -u -v -vq -z) specify the
primary mode of operation of UnZip. Only one of these primary mode
options may be specified.
-c
--to-stdout
Primary Mode. Extract files to stdout/screen. This option is
similar to the -p option except that the name of each file is
displayed as it is extracted, and the -a option is allowed,
which can provide automatic ASCII-EBCDIC conversion, where
appropriate.
-f
--freshen
Primary Mode. Freshen existing files. That is, extract only
those files that already exist on disk and that are newer than
the disk copies. By default, UnZip queries the user before
overwriting, but the -o option may be used to suppress the
queries. Note that on many operating systems, the TZ (timezone)
environment variable must be set correctly in order for
-f/--freshen and -u/--update to work properly. (On 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 UTC) and the necessity to compare the two. A typical TZ
value is "PST8PDT" (US Pacific time with automatic adjustment
for Daylight Saving Time).
-h
--help
Primary Mode. Display brief (roughly 24 lines) usage instruc‐
tions. See also -hh.
-hh
--long-help
Primary Mode. Display extended help (more complete usage
instructions). See also -h.
-l
--list
Primary Mode. List archive members. By default, a brief format
is used, which includes the following items: member name, uncom‐
pressed file size ("Length"), and modification date-time of the
member. A summary is included at the end of the report, showing
total size and count for all the members in the report. Speci‐
fying a member list limits the report to those members.
Adding -v (--verbose) to an "unzip -l" command line adds the
following items to the report: compression method, compressed
size ("Size"), compression ratio, and 32-bit CRC.
In contrast to some other programs, UnZip does not include the
12-byte encryption header in the compressed size values for a
Traditionally encrypted member. Therefore, compressed size and
compression ratio figures are independent of the member's
encryption status and show the correct compression performance.
(The complete size of the encrypted compressed data stream for
archive members is reported by the more verbose ZipInfo reports.
See the separate zipinfo manual page.)
If UnZip was built with OS2_EAS enabled, then the -l report also
includes the sizes of stored OS/2 extended attributes (EAs) and
OS/2 access control lists (ACLs). In addition, the archive com‐
ment and individual member comments (if any) are displayed.
If a file was archived from a single-case file system (for exam‐
ple, the old MS-DOS FAT file system) and the -L option was
given, then the filename is converted to lowercase and is shown
prefixed with a caret (^).
Note: If only -v (--verbose) is specified with an archive name,
then UnZip acts as if "-l -v" were specified, and a detailed
listing is generated.
--license
Primary Mode. Display the Info-ZIP license.
-p
--pipe-to-stdout
Primary Mode. Extract files to stdout (pipe). Only the actual
file data for the members are sent to stdout (no file names, or
other information, as would be displayed with -c), and the files
are always extracted in binary format, just as they are stored
(with no line-ending or ASCII-EBCDIC conversions).
-T
--timestamp-new
Primary Mode. Set the timestamp on the archive(s) to that of
the newest file in each one. This corresponds to Zip's -go
option, except that it can be used on wildcard archives (for
example, "unzip -T '*.zip'") and may be faster.
-t
--test
Primary Mode. Test archive members. Testing means that each
archive member is extracted in memory (expanding and decrypting,
as needed), but not written to a file. The resulting CRC
(cyclic redundancy check, an enhanced checksum) of the extracted
data is then compared with the original file's stored CRC value,
and an error message is emitted if a CRC mismatch is detected.
Adding -v to -t adds some diagnostic information to the report
for archive members with LZMA or PPMd compression.
-u
--update
Primary mode. Update existing files and create new ones if
needed. This mode performs the same function as the Freshen
(-f) mode, extracting (with query) files that are newer than
those with the same name on disk, but it also extracts those
files that do not already exist on disk. See -f, above, for
information on setting the timezone properly.
-v
--verbose
Primary mode (when alone) or option. When used as a primary
mode (alone), and no archive is specified, an "unzip -v" command
generates a report showing the program version, build options,
and relevant environment variables.
When used with some other primary mode option, -v can make out‐
put more verbose.
If no other primary mode is specified, and an archive is speci‐
fied, then UnZip acts as if "-l -v" were specified, and a
detailed listing is generated. See -l.
--version
Primary Mode. Display the program version, build options, and relevant
environment variables.
Currently, --version is implemented as a synonym for -v/--ver‐
bose, so, for proper operation, it must be specified with no
other options.
-vq
--quick-version
Primary mode. Display a brief (one-line) program version
report.
-z
--zipfile-comment
Primary mode. Display only the archive comment.
OPTIONS (Ordinary)
-0
--no-char-set
Do not transform FAT/NTFS names. By default, a particular char‐
acter mapping (CP850) is applied to the names of archive members
which originated on a FAT or NTFS file system (typically on an
MS-DOS or Windows system). This can cause unexpected characters
in extracted file names if the corresponding (inverse) mapping
was not used when the archive was created. With
-0/--no-char-set, the extracted file name should agree with the
name stored in the archive.
On Unix (or BeOS), -0/--no-char-set effectively overrides any
-I/--iso-char-set or -O/--oem-char-set option which may also be
specified.
-2
--force-ods2
[VMS] Convert extracted file names to ODS2-compatible names,
even on an ODS5 file system. By default, if the destination
file system is ODS5, case is preserved, and extended file name
characters are caret-escaped as needed, while if the destination
file system is ODS2, ODS2-invalid characters are replaced by
underscores.
-A
--api-help
[DLL, object library] Print extended help for the DLL or object
library application programming interface (API).
-a
--ascii
Convert text files. Ordinarily, all files are extracted exactly
as they are stored, byte-for-byte. With -a, line endings in a
text file are adjusted to the local standard as the file is
extracted. When appropriate, ASCII<-->EBCDIC conversion is also
done.
Zip (or a similar archiving program) identifies files as
"binary" or "text" when they are archived. (A short-format Zip‐
Info report denotes a binary file with a "b", and a text file
with a "t".) Zip's identification of text files may not be per‐
fect, so UnZip prints "[binary]" or "[text]" as a visual check
for each file it extracts with -a. The -aa option forces all
files to be extracted (and converted) as text, regardless of the
supposed file type.
[VMS] On VMS, for archives with VMS attribute information (made
with "zip -V" or "ZIP /VMS"), files are always created with
their original record formats. For archives without VMS
attribute information (not made with "zip -V" or "ZIP /VMS"),
all files are normally created with Stream_LF record format.
With -a, text files are normally created with variable-length
record format, but adding -S gives them Stream_LF record format.
With -aa, all files are treated as text files. See also -b and
-S.
-B
--backup
[When built with UNIXBACKUP enabled] Save a backup copy of each
overwritten file. The backup file 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 appended whenever
another file with the original name plus tilde already exists.
When used together with the "overwrite all" option, -o, numbered
backup files are never created. In this case, all backup files
are named as the original file with an appended tilde, and
existing backup files are deleted without notice. This feature
works similarly to the default behavior of emacs(1) in many
locations.
Example: the old copy of "foo" is renamed to "foo~".
Warning: Users should be aware that the -B option does not pre‐
vent loss of existing data under all circumstances. For exam‐
ple, when UnZip is run in overwrite-all mode, an existing "foo~"
file is deleted before UnZip attempts to rename "foo" to "foo~".
When this rename attempt fails (because of a file lock, insuffi‐
cient privileges, or any other reason), the extraction of "foo~"
gets cancelled, but the old backup file is already lost. A sim‐
ilar 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 ver‐
sion without notice.
-b
--binary
[Tandem, VMS] Selects the file record format used when extract‐
ing binary files. -b may conflict or interact with -a in dif‐
ferent ways on different system types. -b is ignored on systems
other than Tandem and VMS.
Zip (or a similar archiving program) identifies files as
"binary" or "text" when they are archived. (A short-format Zip‐
Info report denotes a binary file with a "b", and a text file
with a "t".)
[Tandem] Force the creation files with filecode type 180 ('C')
when extracting archive members marked as "text". (On Tandem, -a
is enabled by default, see above).
[VMS] On VMS, for archives with VMS attribute information (made
with "zip -V" or "ZIP /VMS"), files are always created with
their original record formats. For archives without VMS
attribute information (not made with "zip -V" or "ZIP /VMS"),
files are normally created with Stream_LF record format. With
-b, binary files are created with fixed-length, 512-byte record
format. With -bb, all files are treated as binary files. When
extracting to standard output (-c or -p option in effect), the
default conversion of text record delimiters is disabled for
binary files (with -b), or for all files (with -bb).
-C
--ignore-case ([CMS, MVS] --CMS-MVS-lower)
Use case-insensitive name matching for names in the member list
and the -x excluded-member list on the command line. By
default, case-sensitive matching is done. For example, specify‐
ing "makefile" on the command line will match only "makefile" in
the archive, not "Makefile" or "MAKEFILE". On many systems, the
local file system is case-insensitive, so case-insensitive name
matching would be more natural. With -C, "makefile" would match
"makefile", "Makefile", or "MAKEFILE".
-C does not affect the search for the ZIP archive file(s), nor
the matching of archive members to existing files on the extrac‐
tion path. So, on a case-sensitive file system, UnZip will
never try to overwrite a file "FOO" when extracting a member
named "foo"!
-c
--to-stdout
Primary Mode. Extract files to stdout/screen. For details, see
Primary Mode options.
-D
--dir-timestamps
Control timestamps on extracted files and directories. By
default, UnZip restores timestamps for extracted files, but not
for directories it creates. Specifying -D tells UnZip not to
restore any timestamps. Specifying -D- tells UnZip to restore
timestamps for directories as well as other items. -D- works
only on systems that support setting timestamps for directories
(currently ATheOS, BeOS, MacOS, OS/2, Unix, VMS, Win32). On
other systems, -D- has no effect.
[Non-VMS] Timestamp restoration behavior changed between UnZip
versions 6.00 and 6.1. The following table shows the effects of
various -D options for both versions.
UnZip version |
6.00 | 6.1 | Restore timestamps on:
-----------+-----------+------------------------
-DD | -D | Nothing.
-D | (default) | Files, not directories.
(default) | -D- | Files and directories.
[VMS] The old behavior on VMS was the same as the new behavior
on all systems. (The old negated --D option is now -D-, because
of changes to the command-line parser.)
-d dest_dir
--extract-dir dest_dir
Specifies a destination directory for extracted files. By
default, files are extracted (and subdirectories created) in the
current (default, working) directory. With -d dest_dir, extrac‐
tion is done into the specified directory, instead. See also
-da.
The option and directory may be concatenated without any white
space between them, but this may cause normal shell behavior to
be suppressed. For example, "-d ~" (tilde) is expanded by Unix
shells into the name of the user's home directory, but "-d~" is
treated as a literal "~" subdirectory of the current directory.
[VMS] On VMS, only a VMS-style device:[directory] specification
is permitted.
-da[=reuse]
--auto-extract-dir[=reuse]
Specifies a destination directory for extracted files which is
derived from the base name of the archive. By default, files
are extracted (and subdirectories created) in the current
(default, working) directory. With -da, UnZip automatically
derives a subdirectory name from the archive name, creates that
subdirectory, and extracts files into that subdirectory.
For example, with -da, extraction of "fred.zip" is done into
subdirectory "fred" instead of into the current directory. (On
VMS, subdirectory "[.fred]".)
Using this option can help to avoid cluttering the current
directory with files extracted from an archive whose structure
does not include a top-level directory.
For greater safety, by default, UnZip will refuse to extract
into an automatic extraction directory which already exists.
Specifying the optional keyword "reuse" will allow an existing
directory to be used.
If -da is specified as a default option in an environment vari‐
able, it can be overridden by either a negated -da- option or an
explicit -d dest_dir option. See also -d.
-E
--mac-efs
[MacOS (pre-OS-X)] Display contents of MacOS extra field during
restore operation.
-F
--keep-nfs
[Acorn] Suppress removal of NFS filetype extension from stored
filenames.
[non-Acorn systems supporting long filenames with embedded com‐
mas, and only if compiled with ACORN_FTYPE_NFS defined] Trans‐
late 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 already to
have an appended NFS filetype extension, it is replaced by the
info from the extra field.)
-f
--freshen
Primary Mode. Freshen existing files. For details, see Primary
Mode options.
-h
--help
Primary Mode. Display brief (roughly 24 lines) usage instruc‐
tions. For details, see Primary Mode options.
-hh
--long-help
Primary Mode. Display complete usage instructions. For
details, see Primary Mode options.
-I char_set
--iso-char-set char_set
[Unix] Select ISO character set char_set. See also -0 and -O.
-i
--no-mac-ef-names
[MacOS (pre-OS-X)] Ignore filenames stored in MacOS extra
fields. Instead, the most compatible filename stored in the
generic part of the member's header is used.
-J
--junk-attrs
[BeOS] Junk file attributes. The file's BeOS file attributes
are not restored, only the file's data.
[MacOS (pre-OS-X)] Ignore Mac OS extra fields.
[Mac OS X] Do no special Mac-specific processing of AppleDouble
archive members. An AppleDouble archive member is restored as a
separate "._name" file, as it would be on a non-Mac file system.
Note that "-J" is not equivalent to
"-Je -Jf -Jr". With "-J", an AppleDouble archive
member is restored as a separate "._name" file, as it would
be on a non-Mac file system. With "-Je -Jf -Jr", all the
data in an AppleDouble archive member are ignored, so the
data fork file is restored with no extended attributes
(-Je), no Finder info (-Jf), and no resource fork (-Jr);
no "._name" file is created.
Note that -j acts on the path of an archive member, and is
independent of the destination directory specified using -d or
-da. For example, with "-d zz -j=1", an archive
member like "a/b/c/d/ee.txt" would be extracted as
"zz/b/c/d/ee.txt", with -j=1 stripping the "a/" off the
archive path, and -d zz adding the "zz/" to the path in the
destination file system.
-Je
--junk-extattr
[Mac OS X] Ignore all Mac OS extended attributes. Extended
attribute processing is available on Mac OS X 10.4 and later.
See also -J, -Jf, -Jq, and -Jr.
-Jf
--junk-finder
[Mac OS X] Ignore Mac OS Finder info. See also -J, -Je, -Jq,
and -Jr.
-Jq
--junk-qtn
[Mac OS X] Ignore Mac OS X Quarantine ("com.apple.quarantine")
extended attribute. Use "-Je", to ignore this and all other
extended attributes. Extended attribute processing is available
on Mac OS X 10.4 and later. See also -J, -Je, -Jf, and -Jr.
-Jr
--junk-rsrc
[Mac OS X] Ignore Mac OS Resource fork. See also -J, -Je, -Jf,
and -Jq.
-j[=depth]
--junk-dirs[=depth]
Junk directories on extracted files. With -j, all directory
information is stripped from an archive member name, so all
files are extracted into the destination directory. (See also
-d and -da.)
If a depth (=depth, where depth is a positive integer) is speci‐
fied, then that number of directory levels will be stripped from
an archive member name. For example, an archive member like
"a/b/c/d/ee.txt" would normally be extracted as
"a/b/c/d/ee.txt". With -j, it would be extracted as "ee.txt".
With -j=2, the first two directory levels would be stripped, so
it would be extracted as "c/d/ee.txt".
--jar
Treat archive(s) as Java JAR. Over-simplification in Java JAR archives
can cause UnZip to transform UTF-8 file names according to inappropri‐
ate (MS-DOS) rules, yielding corrupt names on extracted files (typi‐
cally those with character codes 128-255). Archives containing a Java
"CAFE" extra field should be detected automatically, and handled cor‐
rectly, but not all JAR archives include that extra field. Specifying
--jar tells UnZip to expect UTF-8 file names, regardless of whether the
archive contains a "CAFE" extra field.
-K
--keep-s-attrs
[AtheOS, BeOS, Unix] Retain SUID/SGID/Tacky permission bits. By
default, these permission bits are cleared, for security rea‐
sons.
-k
--keep-permissions
[AtheOS, BeOS, Unix, VMS] Control how archived permissions or
protections are restored on extracted files and directories.
By default, archived permissions are restored with some limita‐
tions. On AtheOS, BeOS, and Unix, the current umask value is
applied (to the normal user/group/other permissions). On VMS,
the current default protection is applied to the UIC-based
(SOGW) protections.
With -k, the archived permissions are restored without regard to
the Unix umask or VMS default protection. (This was the default
behavior in UnZip versions before 6.1.)
With -k-, the archived permissions are ignored, so only the Unix
umask or VMS default protection is effective. (On VMS, directo‐
ries are always created without any Delete access.)
On AtheOS, BeOS, and Unix, the SUID/SGID/Tacky permission bits
are controlled by the -K/--keep-s-attrs option, regardless of
the -k/--keep-permissions setting.
-ka
--keep-acl
[VMS] Restore ACLs on extracted files and directories.
-L
--lowercase-names
Convert to lowercase any filename originating on an uppercase-
only operating system or file system. (This was UnZip's default
behavior in versions before 5.11. The current default behavior
is the same as the old behavior with the -U option. -U is now
used for another purpose.)
Depending on the archiver, files archived from single-case file
systems (old MS-DOS FAT, VMS ODS2, and so on) 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 on Unix. By default UnZip lists
and extracts such filenames exactly as they're stored (excepting
truncation, conversion of unsupported characters, an so on).
With -L, the names of all files from certain systems will be
converted to lowercase. With -LL, all file names will be down-
cased, regardless of the originating file system.
-l
--list
Primary Mode. List archive members. For details, see Primary
Mode options.
-M ([CMS,MVS] Or: -m)
--more
Pipe all output through an internal pager similar to the Unix
more(1) command. At the end of a screenful of output, UnZip
pauses with a "--More--" prompt; the next screenful may be
viewed by pressing the Enter/Return key or the space bar. UnZip
can be terminated by pressing the "Q" key and, on some systems,
the Enter/Return key. Unlike Unix more(1), there is no forward-
searching or editing capability. Also, UnZip 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. If the actual number of lines on the screen can not be
determined, 24 lines will be assumed.
-N
--comment-to-note
[Amiga] Extract member comments as Amiga filenotes. Member com‐
ments are created with the -c option of Zip, or with the -N
option of the Amiga port of Zip, which stores filenotes as com‐
ments.
-n
--never-overwrite
When extracting, never overwrite existing files. If a file
already exists, then skip the extraction of that file without
asking. See also -o (--overwrite).
By default, UnZip queries the user before extracting any file
that already exists. The user may choose to overwrite only the
current file, overwrite all files, skip extraction of the cur‐
rent file, skip extraction of all existing files, or rename the
current file (choose a new name for the extracted file).
[VMS] On VMS, the usual query choices are to create a new ver‐
sion of an existing file, to skip extraction, or to rename the
current file. In the case where an archive member name includes
a version number, and -V ("retain VMS file version numbers") is
in effect, then an additional query choice is offered: to over‐
write the existing file.
-O char_set
--oem-char-set char_set
[Unix] Select OEM character set char_set. See also -0 and -I.
-o
--overwrite
When extracting, always overwrite existing files without prompt‐
ing. This is a dangerous option, so use it with care. (It is
often used with -f, however, and is the only way to overwrite
directory EAs on OS/2.) See also -n (--never-overwrite).
By default, UnZip queries the user before extracting any file
that already exists.
[Non-VMS] On non-VMS systems, 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 (choose a new name for the extracted
file).
[VMS] On VMS, the usual query choices are to create a new ver‐
sion of an existing file, to skip extraction, or to rename the
current file. In the case where an archive member name includes
a version number, and -V ("retain VMS file version numbers") is
in effect, then an additional query choice is offered: to over‐
write the existing file. In this case, -o selects the "new ver‐
sion" choice, and -oo (or "-o -o") selects the "overwrite"
choice.
-P password
--password password
Use password to decrypt encrypted archive members (if any).
THIS IS INSECURE! 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 can be even less
secure, Whenever possible, use the non-echoing, interactive
prompt to enter passwords. Where security is truly important,
use a strong encryption method, such as AES, instead of the rel‐
atively weak encryption provided by Traditional ZIP encryption.
Or, use an external encryption program, such as GnuPG, before
archiving the file. (Note that Zip will probably not be able to
do significant compression on a file which has already been
encrypted.)
-p
--pipe-to-stdout
Primary Mode. Extract files to stdout (pipe). For details, see
Primary Mode options.
-q
--quiet
Perform operations quietly. (-qq: even more quietly). By
default, UnZip prints the names of the files it's extracting or
testing, the extraction methods, any member or archive comments
that may be stored in the archive, and possibly a summary when
finished with each archive. The -q[q] options suppress the
printing of some or all of these messages.
-r
--remove-exts
[Tandem] Remove file extensions.
-S
--streamlf
[VMS] Use Stream_LF record format when converting extracted text
files (-a, -aa), instead of the text-file default, variable-
length record format.
[VMS] On VMS, for archives with VMS attribute information (made
with "zip -V" or "ZIP /VMS"), files are always created with
their original record formats. For archives without VMS
attribute information (not made with "zip -V" or "ZIP /VMS"),
all files are normally created with Stream_LF record format.
With -a, text files are normally created with variable-length
record format, but adding -S gives them Stream_LF record format.
With -aa, all files are treated as text files. See also -a and
-b.
-s
--space-to-uscore
Convert spaces in filenames to underscores. Normally, on a sys‐
tem which allows spaces in filenames, UnZip extracts filenames
with spaces intact (for example, "EA DATA. SF"). Working with
such file names can be awkward, however, so -s can be used to
replace spaces with underscores.
-sc
--show-command
Show processed command line (options, arguments), and then exit.
Strictly speaking this is a primary-mode option, but it's
intended for use in program development, not for normal use.
-si
--show-pid
[Non-VMS] Show the UnZip program's process ID (pid) before per‐
forming any other work. This value can then be used in a "kill
-USR1 pid" command to trigger a user-triggered progress report.
-so
--show-options
Display all valid program options, then exit.
Strictly speaking this is a primary-mode option, but it's
intended for use in program development, not for normal use.
-T
--timestamp-new
Primary Mode. Set the timestamp on the archive(s) to that of
the newest file in each one. For details, see Primary Mode
options.
-t
--test
Primary Mode. Test archive members. For details, see Primary
Mode options.
-U
--unicode
[UNICODE_SUPPORT] Control UTF-8 handling. When UNICODE_SUPPORT
is available, -U forces UnZip 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 provided mainly for debugging, when the fairly new
UTF-8 support is suspected of mangling extracted filenames.
-UU disables the recognition of UTF-8 encoded filenames. The
handling of filename codings within UnZip falls back to the
behavior of pre-Unicode versions.
[old, obsolete usage] Leave filenames uppercase if created on
MS-DOS, VMS, and so on. See -L.
-u
--update
Primary mode. Update existing files and create new ones if
needed. For details, see Primary Mode options.
-V
--keep-versions
[Non-CMS-MVS] Retain VMS file version numbers. VMS files can be
stored with a version number, in the format "file.type;##",
where "##" is a positive decimal number. By default VMS ";##"
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.)
[Non-VMS] Note that before UnZip version 6.1, on a non-VMS sys‐
tem, a file with a name like "fred;123" would, by default, be
extracted as "fred", even if the file did not originate on a VMS
system (so that ";123" was probably not really a VMS version
number). Beginning with UnZip version 6.1, the default behavior
is to strip VMS version numbers only from files which were
archived on a VMS system. To restore the old behavior, and
always strip apparent VMS version numbers, explicitly negate the
option: -V-.
[VMS] Note that on VMS, -V affects only version numbers, and is
not needed to restore VMS file attributes. Zip's -V (/VMS)
option is required to store VMS attributes in an archive. If
that was done when an archive was created, then UnZip will
always restore those attributes when a file is extracted.
-v
--verbose
When used with some primary mode option, -v can make output more
verbose. See also Primary Mode options, and -l in particular.
Note: If only -v (--verbose) is specified with an archive name,
then UnZip acts as if "-l -v" were specified, and a detailed
listing is generated.
--version
Primary Mode. Display the program version, build options, and relevant
environment variables. For details, see Primary Mode options.
-vq
--quick-version
Primary mode. Display a brief (one-line) program version
report.
-W
--wild-no-span
[WILD_STOP_AT_DIR] (Valid when the program was built with the C
macro WILD_STOP_AT_DIR defined.) By default, the wildcard char‐
acters "?" (single-character wildcard) and "*" (multi-character
wildcard) match any character in a member path/name. "-W" modi‐
fies the pattern-matching behavior for archive members so that
both "?" (single-character wildcard) and "*" (multi-character
wildcard) do not match the directory separator character "/".
(The two-character sequence "**" acts as a multi-character wild‐
card that includes the directory separator in its matched char‐
acters.) For example, with "-W":
"*.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"
This modified behavior 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 avail‐
able on systems where the Zip archive's internal directory sepa‐
rator character "/" is allowed as regular character in native
operating system filenames.
[non-VMS] Currently, UnZip uses the same pattern matching rules
for both wildcard archive file name specifications and archive
member selection patterns on most system types. For systems
allowing "/" as regular filename character, the -W option would
not work as expected on a wildcard file name specification.
-X
--restore-owner
[NT, OS/2, Unix, VMS, Tandem] Restore owner info (user and group
info (UID/GID) on Unix, UIC on VMS, or access control lists
(ACLs) on 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 on Windows NT.) In most cases this
will require special system privileges, and doubling the option
(-XX) on NT instructs UnZip to use privileges for extraction;
but on Unix, for example, a user who belongs to several groups
can restore files owned by any of those groups, so long as the
user IDs match the user's own. Note that ordinary file
attributes are always restored. This option applies only to
optional, extra ownership info available on some operating sys‐
tems. (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 which
conditions this would ever be useful anyway.)
-x member ...
--exclude member ...
An optional list of archive members to be excluded from process‐
ing. Because wildcard characters normally match "/" directory
separators (for exceptions, see the option -W), this option may
be used to exclude any files that are in subdirectories. For
example, "unzip foo *.[ch] -x */*" would extract all C source
files (*.c, *.h) in the main directory, but none in any subdi‐
rectories. Without the -x option, all C source files in all
directories within the archive would be extracted.
When the program sees -x (--exclude) on a command line, it stops
scanning for options, and treats every succeeding item as an ar‐
chive member name. To avoid confusion between member names and
command options, it's simplest to specify -x (--exclude) and its
member list as the last items on a command line. Alternatively,
the special name "@" can be used to terminate the member list
(and cause the program to resume scanning for options). That
is, the following two commands are equivalent:
unzip fred.zip -b -x file1 file2 file3
unzip fred.zip -x file1 file2 file3 @ -b
-Y
--dot-version
[VMS] Treat archive member 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.) For
example:
"a.b.3" -> "a.b;3"
-Z
--zipinfo-mode
ZipInfo mode. If the first option on the command line is -Z,
then the program runs in ZipInfo mode. Remaining options are
interpreted as ZipInfo options. See the zipinfo manual page for
a description of those options.
-z
--zipfile-comment
Primary mode. Display only the archive comment. For details,
see Primary Mode options.
-$
--volume-labels
[MS-DOS, NT, OS/2, VMS] Restore the volume label if the extrac‐
tion medium is removable (for example, a diskette). Doubling
the option (-$$) allows fixed media (hard disks) to be labeled
as well. By default, volume labels are ignored.
[VMS] On VMS, a volume must be allocated, not shared, for a vol‐
ume label to be set.
-/
--extensions
[Acorn] Overrides the extension list supplied by the 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.
-:
--do-double-dots
[all but Acorn, VM/CMS, MVS, Tandem] Allows UnZip to extract ar‐
chive members into locations outside of the current extraction
destination directory (and its subdirectories).
For security reasons, UnZip normally removes "parent directory"
path components ("../") from the path names of archive members
as they are extracted. This safety feature (new for version
5.50) prevents UnZip from accidentally writing files to directo‐
ries outside the current destination directory tree. The -:
option sets UnZip back to its previous, more liberal behavior,
allowing exact extraction of archives that use "../" path compo‐
nents to create multiple directory trees at or above the level
of the destination directory.
This option does not enable writing explicitly to the root
directory ("/"). To achieve this, it is necessary to set the
extraction target folder to "/" (by using an option like
"-d /"). However, when the -: option is specified, it is still
possible implicitly to write to the root directory if member
paths specifying enough "../" path components.
Use this option with extreme caution.
-^
--control-in-name
[Unix] Allow control characters in file names of extracted ZIP
archive members. On Unix, a file name may contain any (8-bit)
character code with the two exceptions of "/" (the directory
delimiter) and NUL (0x00, the C string-termination character),
unless the specific file system has more restrictive conven‐
tions. Generally, this allows embedding ASCII control charac‐
ters or escape sequences in file names. However, this feature
allows the use of malicious file names which can cause various
kinds of bad trouble when displayed on a user's terminal/emula‐
tor. (Even a file name with unprintable but otherwise harmless
characters can cause problems for users.)
For these reasons, by default, UnZip applies a filter that
removes potentially dangerous control characters from the
extracted file names. The -^ option overrides this filter in
the rare case that embedded filename dangerous control charac‐
ters are to be intentionally restored.
ENVIRONMENT OPTIONS
UnZip's default behavior may be modified by placing command-line
options in an environment variable. This can be done with any option,
but it is probably most useful options like -a (auto-convert text
files), -L (downcase file names from systems with all uppercase file
names), -C (use case-insensitive name matching), -q (quiet), -o (always
overwrite), or -n (never overwrite).
For UnZip, the environment variable name is UNZIP, except on
VMS, where it's UNZIP_OPTS (to avoid conflict with a foreign-
command DCL symbol, UNZIP). For similarity with Zip, if UNZIP
(UNZIP_OPTS on VMS) is not defined, then UnZip will use UNZIPOPT
the same way.
For ZipInfo ("unzip -Z"), the environment variable name is ZIP‐
INFO, except on VMS, where it's ZIPINFO_OPTS. For similarity
with Zip, if ZIPINFO (ZIPINFO_OPTS on VMS) is not defined, then
ZipInfo will use ZIPINFOOPT the same way.
For example, to make UnZip act as quietly as possible, only
reporting errors, one could use commands like the following:
Unix Bourne (or similar) shell:
UNZIP='-q -q'; export UNZIP
Unix C shell:
setenv UNZIP '-q -q'
OS/2 or MS-DOS:
set UNZIP="-q -q"
VMS (with quotation to preserve lower case in DCL):
define UNZIP_OPTS "-q -q" ! Logical name, or
UNZIP_OPTS = "-q -q" ! DCL symbol. (Either works.)
Environment options are treated the same as 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 an explicit option to cancel or override it. For example,
to override one of the "quiet" flags in the example above, use a
command like:
unzip -q- [other options] archive.zip
The leading hyphen is the normal option character, and the
trailing one negates the option, canceling one level of quiet‐
ness. To cancel multiple "quiet" flags, use multiple -q-
options:
unzip -t -q- -q- archive
unzip -q- -q- -t archive
Note that multiple one-character options like "-q" and "-q" can
be combined into a single "-qq", but it's generally clearer to
keep each instance of each option separate. Similarly, negated
one-character options can be combined, as with "-q-q-", but
"-q- -q-" is generally clearer.
The examples show short (one-character) options, but long ("--")
options are also allowed.
The timezone variable (TZ) should be set according to the local time‐
zone in order for the Freshen (-f) and Update (-u) modes to operate
correctly. For details, see -f. This variable may also be necessary
to get timestamps of extracted files to be set correctly.
On Windows systems, UnZip gets the timezone configuration from
the registry, assuming it is correctly set in the Control Panel.
The TZ variable is ignored on these systems.
ENCRYPTION/DECRYPTION
Zip and UnZip have long supported a relatively weak encryption method,
which we call Traditional ZIP encryption. The source code for Tradi‐
tional encryption is included in the source kits, and support for Tra‐
ditional encryption is enabled by default.
The Info-ZIP programs UnZip (version 6.1 and later) and Zip (version
3.1 and later)include optional support for Advanced Encryption Standard
(AES) encryption, a relatively strong encryption method.
The Info-ZIP AES implementation is based on the WinZip AES
specification, and uses AES encryption code supplied by Brian
Gladman. We refer to it as IZ_AES_WG (Info-ZIP AES WinZip/Glad‐
man) or simply AES_WG. (WinZip is a registered trademark of
WinZip International LLC.) The source code for AES_WG encryp‐
tion is included in the normal UnZip source kit, and support for
it will be enabled by default.
The WinZip AES scheme is described in:
http://www.winzip.com/aes_info.htm
For information on the IZ_AES_WG source code, see:
aes_wg/README_AES_WG.txt
or:
ftp://ftp.info-zip.org/pub/infozip/crypt/README_AES_WG.txt
See the INSTALL file in the source kit for details on how to disable
AES_WG encryption (or how to disable Traditional encryption).
Normally, encryption passwords are supplied by the user interactively
when requested by the program. See the -P option for a (less secure)
method of specifying a password on the command line.
With Traditional encryption, when decrypting, a password will be
checked against header data, and used if it appears to be correct. The
correct password will always check out against the header data, but
there is a 1-in-256 chance that an incorrect password will as well.
(This is a security feature of the PKWARE archive format; it helps pre‐
vent brute-force attacks that might otherwise gain a large speed advan‐
tage by testing only the header.) In the case that an incorrect pass‐
word is given but it passes the header test anyway, either an incorrect
CRC will be generated for the extracted data or else UnZip will fail
during the extraction because the "decrypted" bytes do not constitute a
valid compressed data stream.
If the first password fails the header check on some file, UnZip 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. (The situation is actually a little more complicated. Some
old versions of Zip and ZipCloak allowed null passwords, so UnZip
checks each encrypted file to see if the null password works. This may
result in "false positives" and extraction errors, as noted above.)
Archives encrypted with 8-bit-character passwords (for example, pass‐
words with accented European characters) may not be portable across
systems or to other archivers. This problem stems from the use of mul‐
tiple encoding methods for such characters, including Latin-1 (ISO
8859-1) and OEM code page 850. DOS PKZIP 2.04g uses the OEM code page;
Windows PKZIP 2.50 uses Latin-1 (and is therefore incompatible with DOS
PKZIP); 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 WinZip
6.x does not allow 8-bit-character passwords at all. UnZip 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 encod‐
ing.) ISO character encodings other than Latin-1 are not supported.
The new addition of (partial) Unicode (UTF-8) support in UnZip 6.0 has
not yet been adapted to the encryption password handling in UnZip. On
systems that use UTF-8 as native character encoding, UnZip 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.
EXAMPLES
To use UnZip to extract all members of the archive letters.zip into the
current directory and subdirectories below it, creating any subdirecto‐
ries as necessary:
unzip letters
To extract all members of letters.zip into the current directory only:
unzip -j letters
To test letters.zip, printing only a summary message indicating whether
the archive is OK or not:
unzip -t -q letters
To test all ".zip" archives in the current directory, printing only the
summaries:
unzip -t -q "*.zip"
Here, the wildcard archive name was quoted to keep a Unix shell from
expanding ("globbing") it. (This would not be necessary on VMS.)
The following command extracts to standard output all members of let‐
ters.zip whose names end in .tex, auto-converting to the local end-of-
line convention, and piping the output into more(1) (again, quoting the
wildcard member name pattern):
unzip -c -a letters '*.tex' | more
To extract the binary file paper1.dvi to standard output and pipe it to
a printing program:
unzip -p articles paper1.dvi | dvips
To extract from source.zip all Fortran and C source files (*.f, *.c,
*.h) and Makefile into the /tmp directory (again, quoting the wild‐
card):
unzip source.zip "*.[fch]" Makefile -d /tmp
To extract all FORTRAN and C source files, regardless of case (for
example, both *.c and *.C, and any makefile, Makefile, MAKEFILE or sim‐
ilar):
unzip -C source.zip "*.[fch]" makefile -d /tmp
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"):
unzip -aa -C -L source.zip "*.[fch]" makefile -d /tmp
The following command extracts only newer versions of the files already
in the current directory, without querying. (Note: Be careful of
extracting in one timezone an archive created in another. ZIP archives
created by Zip versions before 2.1 contain no timezone information, and
a "newer" file from an eastern timezone may, in fact, be older):
unzip -f -o sources
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):
unzip -u -o sources
To display a configuration report showing the program version, the OS
and compiler used to build it, a list of optional features enabled at
build time, and the values of all the relevant environment variables:
unzip -v
In the last five examples, assume that UNZIP or UNZIP_OPTS is set to
-q. To do a (singly) quiet listing:
unzip -l file.zip
To do a doubly quiet listing:
unzip -l -q file.zip
(Note that the ".zip" is generally not necessary.) To do a standard
listing:
unzip -l -q- file.zip
or:
unzip -lq- file.zip
or:
unzip -q-l file.zip
EXIT STATUS
The exit status (or error level) approximates the exit codes defined by
PKWARE and takes on the following values (except on VMS):
0 Normal. No errors or warnings detected.
1 One or more warnings were encountered, but processing
completed successfully. This includes archives where one
or more (but not all) files were skipped because of an
unsupported compression or encryption method, or a bad
encryption password.
2 Error in the archive format. Processing may or may not
have completed successfully.
3 Severe error in the archive format. Processing probably
failed immediately.
4 Memory allocation failed in program initialization.
5 Memory allocation or terminal I/O failed in encryption
password processing.
6 Memory allocation failed while decompressing to disk.
7 Memory allocation failed while decompressing in memory.
8 Memory allocation failed. (Currently not used.)
9 Specified archive files were not found.
10 Invalid command-line options or parameters.
11 No matching files were found.
50 Disk (file system) filled during extraction.
51 Unexpected end-of-file while reading the archive.
80 User interrupt (Ctrl/C or similar).
81 No files were processed, because of unsupported compres‐
sion or encryption methods.
82 No files were processed, because of bad encryption pass‐
word(s).
83 Large-file archive could not be processed by this small-
file program.
84 Failed to create automatic extraction directory.
(Already exists?)
[VMS] On VMS, the standard Unix exit status values are translated into
valid VMS status codes. For details, see the file [.vms]NOTES.TXT in
the source kit.
BUGS
Multi-part archives are not yet supported, except in conjunction with
Zip. (All parts must be concatenated together in order, and then
"zip -F" (for Zip 2.x) or "zip -FF" (for Zip 3.x) must be performed on
the concatenated archive in order to "fix" it. Also, zip version 3.0
and later can combine multi-part (split) archives into a combined sin‐
gle-file archive using "zip -s- inarchive -O outarchive". See the zip
manual page for more information.) This may be corrected in the next
major release.
Archives read from standard input are not yet supported, except with
fUnZip (and then only the first member of the archive can be
extracted).
Archives encrypted with 8-bit-character passwords (such as passwords
with accented European characters) may not be portable across systems
and/or other archivers. See also ENCRYPTION/DECRYPTION.
UnZip's -M ("--more") option tries to take into account automatic wrap‐
ping 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 type,
UnZip may not detect the true terminal/emulator geometry, but instead
may rely on "commonly used" default dimensions. The correct handling
of tabs would require the implementation of a query for the actual tab
setup on the output terminal/emulator.
[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 archive, nor are hard-linked files relinked. Basi‐
cally, the only file types restored by UnZip are regular files, direc‐
tories, and symbolic (soft) links.
[OS/2] Extended attributes for existing directories are only updated if
the -o ("overwrite all") option is given. This is a limitation of the
operating system; because directories only have a creation time associ‐
ated with them, UnZip 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 nor‐
mally (with or without freshening/updating existing files), then over‐
write just the directory entries (for example, "unzip -o foo */").
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
box; cbp-1 | cbp-1 l | l . ATTRIBUTE TYPE ATTRIBUTE VALUE = Availabil‐
ity compress/unzip = Stability Volatile
SEE ALSO
funzip(1L), unzipsfx(1L), zip(1L), zipcloak(1L),
zipgrep(1L), zipinfo(1L), zipnote(1L), zipsplit(1L)
URL
The Info-ZIP main Web page is:
http://www.info-zip.org/
FTP access is available, too:
ftp://ftp.info-zip.org/pub/infozip/
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 (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 (UnZip maintenance,
VMS, Unix, support of new features); Paul Kienitz (Amiga, Win32, Uni‐
code); 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 server maintenance);
Steve Salisbury (Win32); Steve Miller (Windows CE GUI), Johnny Lee (MS-
DOS, Win32, Zip64); and Dave Smith (Tandem NSK).
The following people are 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).
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 proginfo/CONTRIBS file in the UnZip source distribution for a rela‐
tively complete version.
NOTES
Source code for open source software components in Oracle Solaris can
be found at https://www.oracle.com/downloads/opensource/solaris-source-
code-downloads.html.
This software was built from source available at
https://github.com/oracle/solaris-userland. The original community
source was downloaded from http://antinode.info/ftp/info-
zip/unzip610c23.zip.
Further information about this software can be found on the open source
community website at http://www.info-zip.org/UnZip.html.
Info-ZIP 2016-09-29 (v6.1) UNZIP(1)