~peter-pearse/ubuntu/natty/unzip/prop001

« back to all changes in this revision

Viewing changes to unzip.txt

  • Committer: Bazaar Package Importer
  • Author(s): Santiago Vila
  • Date: 2009-05-08 20:02:40 UTC
  • mfrom: (1.1.2 upstream)
  • mto: This revision was merged to the branch mainline in revision 18.
  • Revision ID: james.westby@ubuntu.com-20090508200240-7l4gypruop5863bd
* New upstream release. Closes: #496989.
* Enabled new Unicode support. Closes: #197427. This may or may not work
  for your already created zipfiles, but it's not a bug unless they were
  created using the Unicode feature present in zip 3.0.
* Built using DATE_FORMAT=DF_YMD so that unzip -l show dates in ISO format,
  as that's the only available one which makes sense. Closes: #312886.
* Enabled new bzip2 support. Closes: #426798.
* Exit code for zipgrep should now be the right one. Closes: #441997.
* The reason why a file may not be created is now shown. Closes: #478791.
* Summary of changes in this version not being the debian/* files:
- Manpages in section 1, not 1L.
- Branding patch. UnZip by Debian. Original by Info-ZIP.
- Always #include <unistd.h>. Debian GNU/kFreeBSD needs it.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
 
2
 
UNZIP(1L)                                               UNZIP(1L)
 
1
UNZIP(1L)                                                            UNZIP(1L)
3
2
 
4
3
NAME
5
 
       unzip  -  list, test and extract compressed files in a ZIP
6
 
       archive
 
4
       unzip - list, test and extract compressed files in a ZIP archive
7
5
 
8
6
SYNOPSIS
9
 
       unzip  [-Z]   [-cflptTuvz[abjnoqsCKLMVWX$/:]]   file[.zip]
10
 
       [file(s) ...]  [-x xfile(s) ...] [-d exdir]
 
7
       unzip  [-Z] [-cflptTuvz[abjnoqsCDKLMUVWX$/:^]] file[.zip] [file(s) ...]
 
8
       [-x xfile(s) ...] [-d exdir]
11
9
 
12
10
DESCRIPTION
13
 
       unzip  will  list,  test,  or  extract  files  from  a ZIP
14
 
       archive, commonly found on MS-DOS  systems.   The  default
15
 
       behavior  (with no options) is to extract into the current
16
 
       directory (and subdirectories below it) all files from the
17
 
       specified ZIP archive.  A companion program, zip(1L), cre-
18
 
       ates ZIP  archives;  both  programs  are  compatible  with
19
 
       archives created by PKWARE's PKZIP and PKUNZIP for MS-DOS,
20
 
       but in many cases the program options or default behaviors
21
 
       differ.
 
11
       unzip will list, test, or extract files from a  ZIP  archive,  commonly
 
12
       found  on MS-DOS systems.  The default behavior (with no options) is to
 
13
       extract into the current directory (and subdirectories  below  it)  all
 
14
       files  from  the  specified ZIP archive.  A companion program, zip(1L),
 
15
       creates ZIP archives; both programs are compatible with  archives  cre-
 
16
       ated  by  PKWARE's  PKZIP and PKUNZIP for MS-DOS, but in many cases the
 
17
       program options or default behaviors differ.
22
18
 
23
19
ARGUMENTS
24
20
       file[.zip]
25
 
              Path of the ZIP archive(s).  If the file specifica-
26
 
              tion is a wildcard, each matching file is processed
27
 
              in  an order determined by the operating system (or
28
 
              file system).  Only the filename can be a wildcard;
29
 
              the  path  itself cannot.  Wildcard expressions are
30
 
              similar to those supported in  commonly  used  Unix
31
 
              shells (sh, ksh, csh) and may contain:
 
21
              Path of the ZIP archive(s).  If  the  file  specification  is  a
 
22
              wildcard, each matching file is processed in an order determined
 
23
              by the operating system (or file system).  Only the filename can
 
24
              be a wildcard; the path itself cannot.  Wildcard expressions are
 
25
              similar to those supported in commonly  used  Unix  shells  (sh,
 
26
              ksh, csh) and may contain:
32
27
 
33
28
              *      matches a sequence of 0 or more characters
34
29
 
35
30
              ?      matches exactly 1 character
36
31
 
37
 
              [...]  matches  any  single  character found inside
38
 
                     the brackets;  ranges  are  specified  by  a
39
 
                     beginning character, a hyphen, and an ending
40
 
                     character.  If an  exclamation  point  or  a
41
 
                     caret (`!' or `^') follows the left bracket,
42
 
                     then the  range  of  characters  within  the
43
 
                     brackets  is complemented (that is, anything
44
 
                     except the characters inside the brackets is
45
 
                     considered  a match).  To specify a verbatim
46
 
                     left bracket, the  three-character  sequence
47
 
                     ``[[]'' has to be used.
48
 
 
49
 
              (Be  sure  to quote any character that might other-
50
 
              wise be interpreted or modified  by  the  operating
51
 
              system,  particularly  under  Unix and VMS.)  If no
52
 
              matches are found, the specification is assumed  to
53
 
              be  a literal filename; and if that also fails, the
54
 
              suffix .zip is appended.  Note that self-extracting
55
 
              ZIP  files  are  supported,  as  with any other ZIP
56
 
              archive; just specify  the  .exe  suffix  (if  any)
57
 
              explicitly.
58
 
 
59
 
Info-ZIP             28 February 2005 (v5.52)                   1
60
 
 
61
 
UNZIP(1L)                                               UNZIP(1L)
 
32
              [...]  matches  any  single character found inside the brackets;
 
33
                     ranges are specified by a beginning character, a  hyphen,
 
34
                     and  an  ending  character.  If an exclamation point or a
 
35
                     caret (`!' or `^') follows the  left  bracket,  then  the
 
36
                     range  of  characters within the brackets is complemented
 
37
                     (that is,  anything  except  the  characters  inside  the
 
38
                     brackets  is  considered a match).  To specify a verbatim
 
39
                     left bracket, the three-character sequence ``[[]'' has to
 
40
                     be used.
 
41
 
 
42
              (Be  sure  to quote any character that might otherwise be inter-
 
43
              preted or modified by the operating system,  particularly  under
 
44
              Unix  and  VMS.)   If no matches are found, the specification is
 
45
              assumed to be a literal filename; and if that  also  fails,  the
 
46
              suffix  .zip  is  appended.  Note that self-extracting ZIP files
 
47
              are supported, as with any other ZIP archive; just  specify  the
 
48
              .exe suffix (if any) explicitly.
62
49
 
63
50
       [file(s)]
64
 
              An  optional  list  of  archive  members to be pro-
65
 
              cessed, separated by spaces.   (VMS  versions  com-
66
 
              piled  with  VMSCLI defined must delimit files with
67
 
              commas instead.  See -v in OPTIONS below.)  Regular
68
 
              expressions (wildcards) may be used to match multi-
69
 
              ple members; see above.  Again, be  sure  to  quote
70
 
              expressions  that  would  otherwise  be expanded or
71
 
              modified by the operating system.
 
51
              An  optional  list of archive members to be processed, separated
 
52
              by spaces.  (VMS versions  compiled  with  VMSCLI  defined  must
 
53
              delimit  files  with  commas instead.  See -v in OPTIONS below.)
 
54
              Regular expressions (wildcards) may be used  to  match  multiple
 
55
              members;  see  above.   Again, be sure to quote expressions that
 
56
              would otherwise be expanded or modified by the operating system.
72
57
 
73
58
       [-x xfile(s)]
74
 
              An optional list of archive members to be  excluded
75
 
              from  processing.   Since  wildcard characters nor-
76
 
              mally match (`/') directory separators  (for  exep-
77
 
              tions see the option -W, this option may be used to
78
 
              exclude any files that are in subdirectories.   For
79
 
              example,  ``unzip foo *.[ch] -x */*'' would extract
80
 
              all C source files in the main directory, but  none
81
 
              in  any subdirectories.  Without the -x option, all
82
 
              C source files in all directories within  the  zip-
83
 
              file would be extracted.
 
59
              An optional list of archive members to be excluded from process-
 
60
              ing.  Since wildcard characters normally match  (`/')  directory
 
61
              separators  (for  exceptions see the option -W), this option may
 
62
              be used to exclude any files that are  in  subdirectories.   For
 
63
              example,  ``unzip foo *.[ch] -x */*'' would extract all C source
 
64
              files in the main directory, but  none  in  any  subdirectories.
 
65
              Without  the  -x  option,  all C source files in all directories
 
66
              within the zipfile would be extracted.
84
67
 
85
68
       [-d exdir]
86
 
              An  optional  directory  to which to extract files.
87
 
              By default, all files and subdirectories are recre-
88
 
              ated in the current directory; the -d option allows
89
 
              extraction in an arbitrary directory (always assum-
90
 
              ing  one has permission to write to the directory).
91
 
              This option need not appear at the end of the  com-
92
 
              mand  line;  it is also accepted before the zipfile
93
 
              specification (with the  normal  options),  immedi-
94
 
              ately  after  the zipfile specification, or between
95
 
              the file(s) and the  -x  option.   The  option  and
96
 
              directory  may  be  concatenated  without any white
97
 
              space between them, but note that  this  may  cause
98
 
              normal shell behavior to be suppressed.  In partic-
99
 
              ular, ``-d ~'' (tilde) is expanded by Unix C shells
100
 
              into  the  name  of  the user's home directory, but
101
 
              ``-d~'' is treated as a literal subdirectory  ``~''
102
 
              of the current directory.
 
69
              An optional directory to which to extract  files.   By  default,
 
70
              all files and subdirectories are recreated in the current direc-
 
71
              tory; the -d option allows extraction in an arbitrary  directory
 
72
              (always  assuming one has permission to write to the directory).
 
73
              This option need not appear at the end of the command  line;  it
 
74
              is also accepted before the zipfile specification (with the nor-
 
75
              mal options), immediately after the  zipfile  specification,  or
 
76
              between the file(s) and the -x option.  The option and directory
 
77
              may be concatenated without any white space  between  them,  but
 
78
              note that this may cause normal shell behavior to be suppressed.
 
79
              In particular, ``-d ~'' (tilde) is expanded  by  Unix  C  shells
 
80
              into  the  name  of  the  user's  home directory, but ``-d~'' is
 
81
              treated as a literal subdirectory ``~'' of  the  current  direc-
 
82
              tory.
103
83
 
104
84
OPTIONS
105
 
       Note  that,  in  order  to  support  obsolescent hardware,
106
 
       unzip's usage screen is limited to  22  or  23  lines  and
107
 
       should  therefore  be  considered  only  a reminder of the
108
 
       basic unzip syntax rather than an exhaustive list  of  all
109
 
       possible flags.  The exhaustive list follows:
110
 
 
111
 
       -Z     zipinfo(1L)  mode.  If the first option on the com-
112
 
              mand line is -Z, the remaining options are taken to
113
 
              be zipinfo(1L) options.  See the appropriate manual
114
 
              page for a description of these options.
115
 
 
116
 
       -A     [OS/2, Unix DLL] print extended help for the  DLL's
117
 
 
118
 
Info-ZIP             28 February 2005 (v5.52)                   2
119
 
 
120
 
UNZIP(1L)                                               UNZIP(1L)
121
 
 
122
 
              programming interface (API).
123
 
 
124
 
       -c     extract  files  to  stdout/screen  (``CRT'').  This
125
 
              option is similar to the -p option except that  the
126
 
              name  of  each  file is printed as it is extracted,
127
 
              the -a option is allowed, and ASCII-EBCDIC  conver-
128
 
              sion  is  automatically  performed  if appropriate.
129
 
              This option  is  not  listed  in  the  unzip  usage
130
 
              screen.
131
 
 
132
 
       -f     freshen  existing  files,  i.e., extract only those
133
 
              files that already exist on disk and that are newer
134
 
              than  the  disk  copies.   By default unzip queries
135
 
              before overwriting, but the -o option may  be  used
136
 
              to  suppress  the  queries.   Note  that under many
137
 
              operating systems, the  TZ  (timezone)  environment
138
 
              variable  must be set correctly in order for -f and
139
 
              -u to work properly (under  Unix  the  variable  is
140
 
              usually  set  automatically).  The reasons for this
141
 
              are somewhat subtle but have to do with the differ-
142
 
              ences  between  DOS-format file times (always local
143
 
              time) and Unix-format times (always in GMT/UTC) and
144
 
              the  necessity  to  compare  the two.  A typical TZ
145
 
              value is ``PST8PDT'' (US Pacific  time  with  auto-
146
 
              matic  adjustment  for  Daylight  Savings  Time  or
147
 
              ``summer time'').
148
 
 
149
 
       -l     list archive  files  (short  format).   The  names,
150
 
              uncompressed  file sizes and modification dates and
151
 
              times of the specified  files  are  printed,  along
152
 
              with  totals for all files specified.  If UnZip was
153
 
              compiled with OS2_EAS defined, the -l  option  also
154
 
              lists columns for the sizes of stored OS/2 extended
155
 
              attributes (EAs)  and  OS/2  access  control  lists
156
 
              (ACLs).  In addition, the zipfile comment and indi-
157
 
              vidual file comments (if any) are displayed.  If  a
158
 
              file  was  archived  from a single-case file system
159
 
              (for example, the old MS-DOS FAT file  system)  and
160
 
              the  -L option was given, the filename is converted
161
 
              to lowercase and is prefixed with a caret (^).
162
 
 
163
 
       -p     extract files to pipe (stdout).   Nothing  but  the
164
 
              file  data  is  sent  to  stdout, and the files are
165
 
              always extracted in binary format, just as they are
166
 
              stored (no conversions).
167
 
 
168
 
       -t     test  archive  files.   This  option  extracts each
169
 
              specified file  in  memory  and  compares  the  CRC
170
 
              (cyclic  redundancy check, an enhanced checksum) of
171
 
              the expanded file with the original  file's  stored
172
 
              CRC value.
173
 
 
174
 
       -T     [most  OSes] set the timestamp on the archive(s) to
175
 
              that  of  the  newest  file  in  each  one.    This
176
 
 
177
 
Info-ZIP             28 February 2005 (v5.52)                   3
178
 
 
179
 
UNZIP(1L)                                               UNZIP(1L)
180
 
 
181
 
              corresponds  to zip's -go option except that it can
182
 
              be used on  wildcard  zipfiles  (e.g.,  ``unzip  -T
183
 
              \*.zip'') and is much faster.
184
 
 
185
 
       -u     update  existing  files  and  create  new  ones  if
186
 
              needed.  This option performs the same function  as
187
 
              the  -f  option, extracting (with query) files that
188
 
              are newer than those with the same  name  on  disk,
189
 
              and in addition it extracts those files that do not
190
 
              already exist on disk.  See -f above  for  informa-
191
 
              tion on setting the timezone properly.
192
 
 
193
 
       -v     be  verbose or print diagnostic version info.  This
194
 
              option has evolved  and  now  behaves  as  both  an
195
 
              option  and  a  modifier.   As an option it has two
196
 
              purposes:  when a  zipfile  is  specified  with  no
197
 
              other  options,  -v  lists archive files verbosely,
198
 
              adding to the basic -l info the compression method,
199
 
              compressed  size, compression ratio and 32-bit CRC.
200
 
              In contrast to most  of  the  competing  utilities,
201
 
              unzip  removes  the  12  additional header bytes of
202
 
              encrypted entries from the compressed size numbers.
203
 
              Therefore,  compressed  size  and compression ratio
204
 
              figures are independent of the  entry's  encryption
205
 
              status  and  show  the  correct compression perfor-
206
 
              mance.  (The complete size  of  the  encryped  com-
207
 
              pressed data stream for zipfile entries is reported
208
 
              by the more verbose zipinfo(1L)  reports,  see  the
209
 
              separate  manual.)   When  no  zipfile is specified
210
 
              (that is, the complete command  is  simply  ``unzip
211
 
              -v''), a diagnostic screen is printed.  In addition
212
 
              to the normal header with release date and version,
213
 
              unzip lists the home Info-ZIP ftp site and where to
214
 
              find a list of other ftp  and  non-ftp  sites;  the
215
 
              target  operating system for which it was compiled,
216
 
              as well as (possibly) the hardware on which it  was
217
 
              compiled,  the  compiler  and version used, and the
218
 
              compilation date; any special  compilation  options
219
 
              that might affect the program's operation (see also
220
 
              DECRYPTION below); and any options stored in  envi-
221
 
              ronment variables that might do the same (see ENVI-
222
 
              RONMENT OPTIONS below).  As a modifier it works  in
223
 
              conjunction  with  other options (e.g., -t) to pro-
224
 
              duce more verbose or debugging output; this is  not
225
 
              yet   fully  implemented  but  will  be  in  future
226
 
              releases.
 
85
       Note  that,  in  order  to  support obsolescent hardware, unzip's usage
 
86
       screen is limited to 22 or 23 lines and should therefore be  considered
 
87
       only  a  reminder  of  the basic unzip syntax rather than an exhaustive
 
88
       list of all possible flags.  The exhaustive list follows:
 
89
 
 
90
       -Z     zipinfo(1L) mode.  If the first option on the  command  line  is
 
91
              -Z,  the  remaining options are taken to be zipinfo(1L) options.
 
92
              See the appropriate manual  page  for  a  description  of  these
 
93
              options.
 
94
 
 
95
       -A     [OS/2,  Unix  DLL] print extended help for the DLL's programming
 
96
              interface (API).
 
97
 
 
98
       -c     extract files to stdout/screen (``CRT'').  This option is  simi-
 
99
              lar  to  the  -p  option  except  that  the name of each file is
 
100
              printed as it is extracted, the -a option is allowed, and ASCII-
 
101
              EBCDIC  conversion  is  automatically  performed if appropriate.
 
102
              This option is not listed in the unzip usage screen.
 
103
 
 
104
       -f     freshen existing files, i.e.,  extract  only  those  files  that
 
105
              already  exist  on disk and that are newer than the disk copies.
 
106
              By default unzip queries before overwriting, but the  -o  option
 
107
              may be used to suppress the queries.  Note that under many oper-
 
108
              ating systems, the TZ (timezone) environment  variable  must  be
 
109
              set  correctly  in  order  for -f and -u to work properly (under
 
110
              Unix the variable is usually set  automatically).   The  reasons
 
111
              for this are somewhat subtle but have to do with the differences
 
112
              between DOS-format file times (always local time) and  Unix-for-
 
113
              mat  times  (always in GMT/UTC) and the necessity to compare the
 
114
              two.  A typical TZ value is ``PST8PDT'' (US  Pacific  time  with
 
115
              automatic  adjustment  for  Daylight  Savings  Time  or ``summer
 
116
              time'').
 
117
 
 
118
       -l     list archive files (short format).  The names, uncompressed file
 
119
              sizes  and  modification  dates and times of the specified files
 
120
              are printed, along with totals  for  all  files  specified.   If
 
121
              UnZip  was  compiled  with  OS2_EAS  defined, the -l option also
 
122
              lists columns for the sizes of stored OS/2  extended  attributes
 
123
              (EAs)  and  OS/2  access control lists (ACLs).  In addition, the
 
124
              zipfile comment and individual file comments (if any)  are  dis-
 
125
              played.   If  a file was archived from a single-case file system
 
126
              (for example, the old MS-DOS FAT file system) and the -L  option
 
127
              was  given,  the  filename is converted to lowercase and is pre-
 
128
              fixed with a caret (^).
 
129
 
 
130
       -p     extract files to pipe (stdout).  Nothing but the  file  data  is
 
131
              sent  to  stdout,  and  the files are always extracted in binary
 
132
              format, just as they are stored (no conversions).
 
133
 
 
134
       -t     test archive files.  This option extracts each specified file in
 
135
              memory  and  compares  the  CRC  (cyclic  redundancy  check,  an
 
136
              enhanced checksum) of the expanded file with the original file's
 
137
              stored CRC value.
 
138
 
 
139
       -T     [most  OSes]  set the timestamp on the archive(s) to that of the
 
140
              newest file in each one.  This corresponds to zip's  -go  option
 
141
              except  that  it can be used on wildcard zipfiles (e.g., ``unzip
 
142
              -T \*.zip'') and is much faster.
 
143
 
 
144
       -u     update existing files and  create  new  ones  if  needed.   This
 
145
              option  performs  the same function as the -f option, extracting
 
146
              (with query) files that are newer than those with the same  name
 
147
              on  disk,  and  in  addition it extracts those files that do not
 
148
              already exist on disk.  See -f above for information on  setting
 
149
              the timezone properly.
 
150
 
 
151
       -v     list  archive  files (verbose format) or show diagnostic version
 
152
              info.  This option has evolved and now behaves as both an option
 
153
              and  a modifier.  As an option it has two purposes:  when a zip-
 
154
              file is specified with no other options, -v lists archive  files
 
155
              verbosely,  adding  to the basic -l info the compression method,
 
156
              compressed size, compression ratio and 32-bit CRC.  In  contrast
 
157
              to  most  of the competing utilities, unzip removes the 12 addi-
 
158
              tional header bytes of encrypted  entries  from  the  compressed
 
159
              size  numbers.  Therefore, compressed size and compression ratio
 
160
              figures are independent of the  entry's  encryption  status  and
 
161
              show the correct compression performance.  (The complete size of
 
162
              the encrypted compressed data  stream  for  zipfile  entries  is
 
163
              reported  by the more verbose zipinfo(1L) reports, see the sepa-
 
164
              rate manual.)  When no zipfile is specified (that is,  the  com-
 
165
              plete  command  is  simply ``unzip -v''), a diagnostic screen is
 
166
              printed.  In addition to the normal header with release date and
 
167
              version,  unzip  lists  the  home Info-ZIP ftp site and where to
 
168
              find a list of other ftp and non-ftp sites; the target operating
 
169
              system  for  which  it  was  compiled, as well as (possibly) the
 
170
              hardware on which it was  compiled,  the  compiler  and  version
 
171
              used,  and the compilation date; any special compilation options
 
172
              that might affect the program's operation (see  also  DECRYPTION
 
173
              below);  and  any  options  stored in environment variables that
 
174
              might do the same (see ENVIRONMENT OPTIONS below).  As  a  modi-
 
175
              fier  it  works  in conjunction with other options (e.g., -t) to
 
176
              produce more verbose or debugging output; this is not yet  fully
 
177
              implemented but will be in future releases.
227
178
 
228
179
       -z     display only the archive comment.
229
180
 
230
181
MODIFIERS
231
 
       -a     convert  text  files.   Ordinarily  all  files  are
232
 
              extracted exactly as they are stored (as ``binary''
233
 
              files).  The -a option causes files  identified  by
234
 
              zip  as  text  files  (those  with the `t' label in
235
 
 
236
 
Info-ZIP             28 February 2005 (v5.52)                   4
237
 
 
238
 
UNZIP(1L)                                               UNZIP(1L)
239
 
 
240
 
              zipinfo listings, rather than `b') to be  automati-
241
 
              cally  extracted  as such, converting line endings,
242
 
              end-of-file characters and the character set itself
243
 
              as  necessary.   (For  example, Unix files use line
244
 
              feeds (LFs) for end-of-line (EOL) and have no  end-
245
 
              of-file  (EOF)  marker;  Macintoshes  use  carriage
246
 
              returns (CRs) for EOLs; and most PC operating  sys-
247
 
              tems  use CR+LF for EOLs and control-Z for EOF.  In
248
 
              addition, IBM mainframes and the Michigan  Terminal
249
 
              System use EBCDIC rather than the more common ASCII
250
 
              character set, and NT supports Unicode.)  Note that
251
 
              zip's  identification  of text files is by no means
252
 
              perfect; some ``text'' files may actually be binary
253
 
              and  vice versa.  unzip therefore prints ``[text]''
254
 
              or ``[binary]'' as a visual check for each file  it
255
 
              extracts  when using the -a option.  The -aa option
256
 
              forces all files to be extracted as  text,  regard-
257
 
              less of the supposed file type.
258
 
 
259
 
       -b     [general]  treat  all files as binary (no text con-
260
 
              versions).  This is a shortcut for ---a.
261
 
 
262
 
       -b     [Tandem] force the  creation  files  with  filecode
263
 
              type  180  ('C') when extracting Zip entries marked
264
 
              as "text". (On Tandem, -a is  enabled  by  default,
265
 
              see above).
266
 
 
267
 
       -b     [VMS]  auto-convert  binary files (see -a above) to
268
 
              fixed-length, 512-byte record format.  Doubling the
269
 
              option  (-bb)  forces  all files to be extracted in
270
 
              this format. When extracting to standard output (-c
271
 
              or  -p option in effect), the default conversion of
272
 
              text record delimiters is disabled for binary  (-b)
273
 
              resp. all (-bb) files.
274
 
 
275
 
       -B     [Unix  only,  and  only if compiled with UNIXBACKUP
276
 
              defined] save a backup  copy  of  each  overwritten
277
 
              file  with  a tilde appended (e.g., the old copy of
278
 
              ``foo'' is renamed to ``foo~'').  This  is  similar
279
 
              to  the  default behavior of emacs(1) in many loca-
280
 
              tions.
281
 
 
282
 
       -C     use case-insensitive matching for the selection  of
283
 
              archive  entries  from  the  command-line  list  of
284
 
              extract selection patterns.  unzip's philosophy  is
285
 
              ``you  get what you ask for'' (this is also respon-
286
 
              sible  for  the  -L/-U  change;  see  the  relevant
287
 
              options  below).   Because  some  file  systems are
288
 
              fully case-sensitive (notably those under the  Unix
289
 
              operating system) and because both ZIP archives and
290
 
              unzip itself are portable across platforms, unzip's
291
 
              default behavior is to match both wildcard and lit-
292
 
              eral filenames case-sensitively.  That is, specify-
293
 
              ing  ``makefile''  on  the  command  line will only
294
 
 
295
 
Info-ZIP             28 February 2005 (v5.52)                   5
296
 
 
297
 
UNZIP(1L)                                               UNZIP(1L)
298
 
 
299
 
              match ``makefile'' in the archive, not ``Makefile''
300
 
              or  ``MAKEFILE'' (and similarly for wildcard speci-
301
 
              fications).  Since this does not correspond to  the
302
 
              behavior  of many other operating/file systems (for
303
 
              example, OS/2 HPFS, which preserves mixed case  but
304
 
              is  not sensitive to it), the -C option may be used
305
 
              to force all filename matches to  be  case-insensi-
306
 
              tive.   In the example above, all three files would
307
 
              then match ``makefile'' (or ``make*'', or similar).
308
 
              The -C option affects file specs in both the normal
309
 
              file list and the excluded-file list (xlist).
310
 
 
311
 
              Please note that the -L option does neither  affect
312
 
              the  search  for the zipfile(s) nor the matching of
313
 
              archive entries to existing files on the extraction
314
 
              path.   On a case-sensitive file system, unzip will
315
 
              never try to overwrite a file ``FOO'' when extract-
316
 
              ing an entry ``foo''!
317
 
 
318
 
       -E     [MacOS  only] display contents of MacOS extra field
319
 
              during restore operation.
320
 
 
321
 
       -F     [Acorn  only]  suppress  removal  of  NFS  filetype
322
 
              extension from stored filenames.
323
 
 
324
 
       -F     [non-Acorn  systems  supporting long filenames with
325
 
              embedded  commas,  and  only   if   compiled   with
326
 
              ACORN_FTYPE_NFS  defined] translate filetype infor-
327
 
              mation from ACORN RISC OS extra field blocks into a
328
 
              NFS  filetype  extension and append it to the names
329
 
              of the extracted files.  (When the stored  filename
330
 
              appears  to  already  have an appended NFS filetype
331
 
              extension, it is replaced  by  the  info  from  the
332
 
              extra field.)
333
 
 
334
 
       -i     [MacOS only] ignore filenames stored in MacOS extra
335
 
              fields.  Instead,  the  most  compatible   filename
336
 
              stored in the generic part of the entry's header is
337
 
              used.
338
 
 
339
 
       -j     junk paths.  The archive's directory  structure  is
340
 
              not  recreated;  all  files  are  deposited  in the
341
 
              extraction directory (by default, the current one).
342
 
 
343
 
       -J     [BeOS  only] junk file attributes.  The file's BeOS
344
 
              file attributes are not restored, just  the  file's
345
 
              data.
346
 
 
347
 
       -J     [MacOS only] ignore MacOS extra fields.  All Macin-
348
 
              tosh  specific  info  is  skipped.  Data-fork   and
349
 
              resource-fork are restored as separate files.
350
 
 
351
 
       -K     [AtheOS,  BeOS,  Unix  only] retain SUID/SGID/Tacky
352
 
              file  attributes.    Without   this   flag,   these
353
 
 
354
 
Info-ZIP             28 February 2005 (v5.52)                   6
355
 
 
356
 
UNZIP(1L)                                               UNZIP(1L)
357
 
 
358
 
              attribute bits are cleared for security reasons.
359
 
 
360
 
       -L     convert to lowercase any filename originating on an
361
 
              uppercase-only operating  system  or  file  system.
362
 
              (This  was  unzip's  default  behavior  in releases
363
 
              prior to 5.11; the new default behavior is  identi-
364
 
              cal  to  the old behavior with the -U option, which
365
 
              is now obsolete and will be  removed  in  a  future
366
 
              release.)    Depending   on   the  archiver,  files
367
 
              archived under single-case file systems  (VMS,  old
368
 
              MS-DOS  FAT,  etc.)  may be stored as all-uppercase
369
 
              names;  this  can  be  ugly  or  inconvenient  when
370
 
              extracting to a case-preserving file system such as
371
 
              OS/2 HPFS or a case-sensitive  one  such  as  under
372
 
              Unix.   By  default  unzip  lists and extracts such
373
 
              filenames  exactly  as  they're  stored  (excepting
374
 
              truncation,  conversion  of unsupported characters,
375
 
              etc.); this option causes the names  of  all  files
376
 
              from  certain systems to be converted to lowercase.
377
 
              The -LL option forces conversion of every  filename
378
 
              to  lowercase,  regardless  of the originating file
 
182
       -a     convert  text files.  Ordinarily all files are extracted exactly
 
183
              as they are stored (as ``binary'' files).  The -a option  causes
 
184
              files  identified by zip as text files (those with the `t' label
 
185
              in zipinfo  listings,  rather  than  `b')  to  be  automatically
 
186
              extracted  as such, converting line endings, end-of-file charac-
 
187
              ters and the character set itself as necessary.   (For  example,
 
188
              Unix  files  use line feeds (LFs) for end-of-line (EOL) and have
 
189
              no end-of-file (EOF) marker; Macintoshes  use  carriage  returns
 
190
              (CRs) for EOLs; and most PC operating systems use CR+LF for EOLs
 
191
              and control-Z for EOF.  In  addition,  IBM  mainframes  and  the
 
192
              Michigan  Terminal System use EBCDIC rather than the more common
 
193
              ASCII character set, and NT supports Unicode.)  Note that  zip's
 
194
              identification  of  text  files  is  by  no  means perfect; some
 
195
              ``text'' files may actually be binary  and  vice  versa.   unzip
 
196
              therefore  prints  ``[text]''  or ``[binary]'' as a visual check
 
197
              for each file it extracts when using the  -a  option.   The  -aa
 
198
              option  forces  all files to be extracted as text, regardless of
 
199
              the supposed file type.  On VMS, see also -S.
 
200
 
 
201
       -b     [general] treat all files as binary (no text conversions).  This
 
202
              is a shortcut for ---a.
 
203
 
 
204
       -b     [Tandem]  force  the creation files with filecode type 180 ('C')
 
205
              when extracting Zip entries marked as "text". (On Tandem, -a  is
 
206
              enabled by default, see above).
 
207
 
 
208
       -b     [VMS]  auto-convert binary files (see -a above) to fixed-length,
 
209
              512-byte record format.  Doubling the option  (-bb)  forces  all
 
210
              files  to  be extracted in this format. When extracting to stan-
 
211
              dard output (-c or -p option in effect), the default  conversion
 
212
              of  text record delimiters is disabled for binary (-b) resp. all
 
213
              (-bb) files.
 
214
 
 
215
       -B     [when compiled with UNIXBACKUP defined] save a  backup  copy  of
 
216
              each  overwritten  file. The backup file is gets the name of the
 
217
              target file with a tilde and optionally a unique sequence number
 
218
              (up to 5 digits) appended.  The sequence number is applied when-
 
219
              ever another file with the  original  name  plus  tilde  already
 
220
              exists.   When used together with the "overwrite all" option -o,
 
221
              numbered backup files are  never  created.  In  this  case,  all
 
222
              backup  files  are  named  as the original file with an appended
 
223
              tilde, existing backup files are deleted without  notice.   This
 
224
              feature  works  similarly to the default behavior of emacs(1) in
 
225
              many locations.
 
226
 
 
227
              Example: the old copy of ``foo'' is renamed to ``foo~''.
 
228
 
 
229
              Warning: Users should be aware that the -B option does not  pre-
 
230
              vent  loss  of existing data under all circumstances.  For exam-
 
231
              ple, when unzip  is  run  in  overwrite-all  mode,  an  existing
 
232
              ``foo~'' file is deleted before unzip attempts to rename ``foo''
 
233
              to ``foo~''.  When this rename attempt fails (because of a  file
 
234
              locks,  insufficient  privileges,  or  ...),  the  extraction of
 
235
              ``foo~'' gets cancelled, but the  old  backup  file  is  already
 
236
              lost.   A  similar scenario takes place when the sequence number
 
237
              range for numbered backup files gets exhausted (99999, or  65535
 
238
              for  16-bit  systems).   In  this case, the backup file with the
 
239
              maximum sequence number is  deleted  and  replaced  by  the  new
 
240
              backup version without notice.
 
241
 
 
242
       -C     use  case-insensitive  matching  for  the  selection  of archive
 
243
              entries from the command-line list  of  extract  selection  pat-
 
244
              terns.  unzip's philosophy is ``you get what you ask for'' (this
 
245
              is also responsible for  the  -L/-U  change;  see  the  relevant
 
246
              options below).  Because some file systems are fully case-sensi-
 
247
              tive (notably those under the Unix operating system) and because
 
248
              both  ZIP  archives  and  unzip itself are portable across plat-
 
249
              forms, unzip's default behavior is to match  both  wildcard  and
 
250
              literal filenames case-sensitively.  That is, specifying ``make-
 
251
              file'' on the command line will only match ``makefile''  in  the
 
252
              archive,  not  ``Makefile''  or  ``MAKEFILE'' (and similarly for
 
253
              wildcard specifications).  Since this does not correspond to the
 
254
              behavior of many other operating/file systems (for example, OS/2
 
255
              HPFS, which preserves mixed case but is not  sensitive  to  it),
 
256
              the  -C  option  may be used to force all filename matches to be
 
257
              case-insensitive.  In the example above, all three  files  would
 
258
              then  match  ``makefile''  (or  ``make*'',  or similar).  The -C
 
259
              option affects file specs in both the normal file list  and  the
 
260
              excluded-file list (xlist).
 
261
 
 
262
              Please  note  that  the -C option does neither affect the search
 
263
              for the zipfile(s) nor the matching of archive entries to exist-
 
264
              ing files on the extraction path.  On a case-sensitive file sys-
 
265
              tem, unzip will never try  to  overwrite  a  file  ``FOO''  when
 
266
              extracting an entry ``foo''!
 
267
 
 
268
       -D     skip  restoration  of timestamps for extracted items.  Normally,
 
269
              unzip tries to restore all meta-information for extracted  items
 
270
              that  are supplied in the Zip archive (and do not require privi-
 
271
              leges or impose a security risk).  By specifying  -D,  unzip  is
 
272
              told  to  suppress  restoration  of  timestamps  for directories
 
273
              explicitly created from Zip archive entries.  This  option  only
 
274
              applies to ports that support setting timestamps for directories
 
275
              (currently ATheOS, BeOS, MacOS,  OS/2,  Unix,  VMS,  Win32,  for
 
276
              other unzip ports, -D has no effect).  The duplicated option -DD
 
277
              forces suppression of timestamp restoration  for  all  extracted
 
278
              entries (files and directories).  This option results in setting
 
279
              the timestamps for all extracted entries to the current time.
 
280
 
 
281
              On VMS, the default setting for this option is  -D  for  consis-
 
282
              tency   with  the  behaviour  of  BACKUP:  file  timestamps  are
 
283
              restored, timestamps of extracted directories are  left  at  the
 
284
              current  time.   To  enable restoration of directory timestamps,
 
285
              the negated option --D should be specified.  On VMS, the  option
 
286
              -D  disables timestamp restoration for all extracted Zip archive
 
287
              items.  (Here, a single -D on the command line combines with the
 
288
              default -D to do what an explicit -DD does on other systems.)
 
289
 
 
290
       -E     [MacOS  only]  display  contents  of  MacOS  extra  field during
 
291
              restore operation.
 
292
 
 
293
       -F     [Acorn only] suppress removal of  NFS  filetype  extension  from
 
294
              stored filenames.
 
295
 
 
296
       -F     [non-Acorn  systems supporting long filenames with embedded com-
 
297
              mas, and only if compiled with ACORN_FTYPE_NFS  defined]  trans-
 
298
              late  filetype information from ACORN RISC OS extra field blocks
 
299
              into a NFS filetype extension and append it to the names of  the
 
300
              extracted  files.   (When the stored filename appears to already
 
301
              have an appended NFS filetype extension, it is replaced  by  the
 
302
              info from the extra field.)
 
303
 
 
304
       -i     [MacOS  only]  ignore  filenames  stored  in MacOS extra fields.
 
305
              Instead, the most compatible filename stored in the generic part
 
306
              of the entry's header is used.
 
307
 
 
308
       -j     junk paths.  The archive's directory structure is not recreated;
 
309
              all files are deposited in the extraction directory (by default,
 
310
              the current one).
 
311
 
 
312
       -J     [BeOS   only]  junk  file  attributes.   The  file's  BeOS  file
 
313
              attributes are not restored, just the file's data.
 
314
 
 
315
       -J     [MacOS only] ignore MacOS extra fields.  All Macintosh  specific
 
316
              info  is  skipped.  Data-fork  and resource-fork are restored as
 
317
              separate files.
 
318
 
 
319
       -K     [AtheOS,  BeOS,   Unix   only]   retain   SUID/SGID/Tacky   file
 
320
              attributes.  Without this flag, these attribute bits are cleared
 
321
              for security reasons.
 
322
 
 
323
       -L     convert to lowercase any filename originating on  an  uppercase-
 
324
              only operating system or file system.  (This was unzip's default
 
325
              behavior in releases prior to 5.11; the new default behavior  is
 
326
              identical  to  the old behavior with the -U option, which is now
 
327
              obsolete and will be removed in a future release.)  Depending on
 
328
              the  archiver,  files  archived  under  single-case file systems
 
329
              (VMS, old MS-DOS FAT,  etc.)  may  be  stored  as  all-uppercase
 
330
              names;  this  can  be  ugly or inconvenient when extracting to a
 
331
              case-preserving file system such as OS/2 HPFS or  a  case-sensi-
 
332
              tive  one  such  as  under  Unix.   By  default  unzip lists and
 
333
              extracts such filenames exactly  as  they're  stored  (excepting
 
334
              truncation,  conversion  of  unsupported characters, etc.); this
 
335
              option causes the names of all files from certain systems to  be
 
336
              converted  to  lowercase.   The  -LL option forces conversion of
 
337
              every filename to lowercase, regardless of the originating  file
379
338
              system.
380
339
 
381
 
       -M     pipe all output through an internal  pager  similar
382
 
              to  the  Unix  more(1)  command.   At  the end of a
383
 
              screenful  of   output,   unzip   pauses   with   a
384
 
              ``--More--''  prompt;  the  next  screenful  may be
385
 
              viewed by pressing the Enter (Return)  key  or  the
386
 
              space bar.  unzip can be terminated by pressing the
387
 
              ``q'' key and, on some  systems,  the  Enter/Return
388
 
              key.   Unlike  Unix  more(1),  there is no forward-
389
 
              searching  or  editing  capability.   Also,   unzip
390
 
              doesn't  notice  if  long lines wrap at the edge of
391
 
              the screen, effectively resulting in  the  printing
392
 
              of  two  or more lines and the likelihood that some
393
 
              text will scroll off the top of the  screen  before
394
 
              being viewed.  On some systems the number of avail-
395
 
              able lines on the screen is not detected, in  which
396
 
              case unzip assumes the height is 24 lines.
397
 
 
398
 
       -n     never  overwrite existing files.  If a file already
399
 
              exists, skip the extraction of  that  file  without
400
 
              prompting.    By   default   unzip  queries  before
401
 
              extracting any file that already exists;  the  user
402
 
              may  choose  to  overwrite  only  the current file,
403
 
              overwrite all files, skip extraction of the current
404
 
              file,  skip  extraction  of  all existing files, or
405
 
              rename the current file.
406
 
 
407
 
       -N     [Amiga] extract file comments as  Amiga  filenotes.
408
 
              File  comments  are  created  with the -c option of
409
 
              zip(1L), or with the -N option of the Amiga port of
410
 
              zip(1L), which stores filenotes as comments.
411
 
 
412
 
Info-ZIP             28 February 2005 (v5.52)                   7
413
 
 
414
 
UNZIP(1L)                                               UNZIP(1L)
415
 
 
416
 
       -o     overwrite  existing  files without prompting.  This
417
 
              is a dangerous option, so use it with care.  (It is
418
 
              often used with -f, however, and is the only way to
419
 
              overwrite directory EAs under OS/2.)
 
340
       -M     pipe  all  output  through an internal pager similar to the Unix
 
341
              more(1) command.  At the end of a  screenful  of  output,  unzip
 
342
              pauses  with  a  ``--More--''  prompt; the next screenful may be
 
343
              viewed by pressing the Enter (Return)  key  or  the  space  bar.
 
344
              unzip  can  be terminated by pressing the ``q'' key and, on some
 
345
              systems, the Enter/Return key.  Unlike Unix more(1), there is no
 
346
              forward-searching  or  editing  capability.  Also, unzip doesn't
 
347
              notice if long lines wrap at the edge of the screen, effectively
 
348
              resulting  in  the printing of two or more lines and the likeli-
 
349
              hood that some text will scroll off the top of the screen before
 
350
              being  viewed.  On some systems the number of available lines on
 
351
              the screen is not detected, in  which  case  unzip  assumes  the
 
352
              height is 24 lines.
 
353
 
 
354
       -n     never  overwrite existing files.  If a file already exists, skip
 
355
              the extraction of that file without prompting.  By default unzip
 
356
              queries before extracting any file that already exists; the user
 
357
              may choose to overwrite only the  current  file,  overwrite  all
 
358
              files,  skip  extraction of the current file, skip extraction of
 
359
              all existing files, or rename the current file.
 
360
 
 
361
       -N     [Amiga] extract file comments as Amiga filenotes.  File comments
 
362
              are created with the -c option of zip(1L), or with the -N option
 
363
              of the Amiga port of zip(1L), which  stores  filenotes  as  com-
 
364
              ments.
 
365
 
 
366
       -o     overwrite existing files without prompting.  This is a dangerous
 
367
              option, so use it with care.  (It is often used  with  -f,  how-
 
368
              ever,  and  is  the  only  way  to overwrite directory EAs under
 
369
              OS/2.)
420
370
 
421
371
       -P password
422
 
              use password to decrypt encrypted  zipfile  entries
423
 
              (if any).  THIS IS INSECURE!  Many multi-user oper-
424
 
              ating systems provide ways for any user to see  the
425
 
              current  command  line  of  any other user; even on
426
 
              stand-alone systems there is always the  threat  of
427
 
              over-the-shoulder  peeking.   Storing the plaintext
428
 
              password as part of a command line in an  automated
429
 
              script  is  even worse.  Whenever possible, use the
430
 
              non-echoing, interactive prompt to enter passwords.
431
 
              (And  where security is truly important, use strong
432
 
              encryption such as Pretty Good Privacy  instead  of
433
 
              the relatively weak encryption provided by standard
434
 
              zipfile utilities.)
435
 
 
436
 
       -q     perform operations quietly (-qq  =  even  quieter).
437
 
              Ordinarily unzip prints the names of the files it's
438
 
              extracting or testing, the extraction methods,  any
439
 
              file  or zipfile comments that may be stored in the
440
 
              archive, and possibly a summary when finished  with
441
 
              each  archive.   The  -q[q]  options  suppress  the
442
 
              printing of some or all of these messages.
443
 
 
444
 
       -s     [OS/2, NT, MS-DOS] convert spaces in  filenames  to
445
 
              underscores.   Since all PC operating systems allow
446
 
              spaces in  filenames,  unzip  by  default  extracts
447
 
              filenames     with     spaces     intact     (e.g.,
448
 
              ``EA DATA. SF'').  This can  be  awkward,  however,
449
 
              since MS-DOS in particular does not gracefully sup-
450
 
              port spaces in filenames.  Conversion of spaces  to
451
 
              underscores  can  eliminate the awkwardness in some
452
 
              cases.
453
 
 
454
 
       -U     (obsolete; to be removed in a future release) leave
455
 
              filenames  uppercase  if created under MS-DOS, VMS,
456
 
              etc.  See -L above.
457
 
 
458
 
       -V     retain (VMS) file version numbers.  VMS  files  can
459
 
              be  stored  with  a  version  number, in the format
460
 
              file.ext;##.  By default the ``;##''  version  num-
461
 
              bers  are  stripped, but this option allows them to
462
 
              be retained.  (On file systems that limit filenames
463
 
              to  particularly short lengths, the version numbers
464
 
              may be truncated or  stripped  regardless  of  this
465
 
              option.)
466
 
 
467
 
       -W     [only  when  WILD_STOP_AT_DIR  compile-time  option
468
 
              enabled] modifies the pattern matching  routine  so
469
 
              that   both  `?'  (single-char  wildcard)  and  `*'
470
 
 
471
 
Info-ZIP             28 February 2005 (v5.52)                   8
472
 
 
473
 
UNZIP(1L)                                               UNZIP(1L)
474
 
 
475
 
              (multi-char wildcard) do not  match  the  directory
476
 
              separator   character   `/'.    (The  two-character
477
 
              sequence ``**'' acts as a multi-char wildcard  that
478
 
              includes  the  directory  separator  in its matched
479
 
              characters.)  Examples:
 
372
              use password to decrypt  encrypted  zipfile  entries  (if  any).
 
373
              THIS  IS  INSECURE!   Many  multi-user operating systems provide
 
374
              ways for any user to see the current command line of  any  other
 
375
              user;  even on stand-alone systems there is always the threat of
 
376
              over-the-shoulder peeking.  Storing the  plaintext  password  as
 
377
              part  of  a  command  line in an automated script is even worse.
 
378
              Whenever possible, use the non-echoing,  interactive  prompt  to
 
379
              enter  passwords.   (And  where security is truly important, use
 
380
              strong encryption such as Pretty Good  Privacy  instead  of  the
 
381
              relatively  weak  encryption provided by standard zipfile utili-
 
382
              ties.)
 
383
 
 
384
       -q     perform operations quietly (-qq  =  even  quieter).   Ordinarily
 
385
              unzip  prints the names of the files it's extracting or testing,
 
386
              the extraction methods, any file or zipfile comments that may be
 
387
              stored in the archive, and possibly a summary when finished with
 
388
              each archive.  The -q[q] options suppress the printing  of  some
 
389
              or all of these messages.
 
390
 
 
391
       -s     [OS/2,  NT,  MS-DOS] convert spaces in filenames to underscores.
 
392
              Since all PC operating systems allow spaces in filenames,  unzip
 
393
              by   default   extracts  filenames  with  spaces  intact  (e.g.,
 
394
              ``EA DATA. SF'').  This can be awkward, however, since MS-DOS in
 
395
              particular  does  not  gracefully  support  spaces in filenames.
 
396
              Conversion of spaces to underscores can eliminate  the  awkward-
 
397
              ness in some cases.
 
398
 
 
399
       -S     [VMS] convert text files (-a, -aa) into Stream_LF record format,
 
400
              instead of the text-file default, variable-length record format.
 
401
              (Stream_LF  is  the  default  record  format of VMS unzip. It is
 
402
              applied unless conversion (-a, -aa and/or -b, -bb) is  requested
 
403
              or a VMS-specific entry is processed.)
 
404
 
 
405
       -U     [UNICODE_SUPPORT  only]  modify or disable UTF-8 handling.  When
 
406
              UNICODE_SUPPORT is available, the  option  -U  forces  unzip  to
 
407
              escape  all  non-ASCII  characters from UTF-8 coded filenames as
 
408
              ``#Uxxxx'' (for UCS-2 characters, or  ``#Lxxxxxx''  for  unicode
 
409
              codepoints  needing  3  octets).  This option is mainly provided
 
410
              for debugging purpose when the fairly new UTF-8 support is  sus-
 
411
              pected to mangle up extracted filenames.
 
412
 
 
413
              The  option  -UU  allows  to entirely disable the recognition of
 
414
              UTF-8 encoded  filenames.   The  handling  of  filename  codings
 
415
              within unzip falls back to the behaviour of previous versions.
 
416
 
 
417
              [old, obsolete usage] leave filenames uppercase if created under
 
418
              MS-DOS, VMS, etc.  See -L above.
 
419
 
 
420
       -V     retain (VMS) file version numbers.  VMS files can be stored with
 
421
              a  version  number,  in  the format file.ext;##.  By default the
 
422
              ``;##'' version numbers are stripped,  but  this  option  allows
 
423
              them  to  be retained.  (On file systems that limit filenames to
 
424
              particularly short lengths, the version numbers may be truncated
 
425
              or stripped regardless of this option.)
 
426
 
 
427
       -W     [only  when  WILD_STOP_AT_DIR compile-time option enabled] modi-
 
428
              fies the pattern matching routine so that both `?'  (single-char
 
429
              wildcard)  and `*' (multi-char wildcard) do not match the direc-
 
430
              tory  separator  character  `/'.   (The  two-character  sequence
 
431
              ``**'' acts as a multi-char wildcard that includes the directory
 
432
              separator in its matched characters.)  Examples:
480
433
 
481
434
               "*.c" matches "foo.c" but not "mydir/foo.c"
482
435
               "**.c" matches both "foo.c" and "mydir/foo.c"
484
437
               "??*/*" matches "ab/foo" and "abc/foo"
485
438
                       but not "a/foo" or "a/b/foo"
486
439
 
487
 
              This modified behaviour is equivalent to  the  pat-
488
 
              tern  matching  style used by the shells of some of
489
 
              UnZip's supported target OSs (one example is  Acorn
490
 
              RISC OS).  This option may not be available on sys-
491
 
              tems where the Zip archive's interal directory sep-
492
 
              arator  character `/' is allowed as regular charac-
493
 
              ter in native operating  system  filenames.   (Cur-
494
 
              rently,  UnZip uses the same pattern matching rules
495
 
              for both wildcard zipfile  specifications  and  zip
496
 
              entry  selection  patterns in most ports.  For sys-
497
 
              tems allowing `/' as  regular  filename  character,
498
 
              the -W option would not work as expected on a wild-
499
 
              card zipfile specification.)
500
 
 
501
 
       -X     [VMS, Unix, OS/2, NT] restore owner/protection info
502
 
              (UICs)  under VMS, or user and group info (UID/GID)
503
 
              under Unix, or access control  lists  (ACLs)  under
504
 
              certain  network-enabled  versions  of  OS/2  (Warp
505
 
              Server with IBM LAN Server/Requester  3.0  to  5.0;
506
 
              Warp  Connect  with IBM Peer 1.0), or security ACLs
507
 
              under Windows NT.  In most cases this will  require
508
 
              special  system privileges, and doubling the option
509
 
              (-XX) under NT instructs unzip  to  use  privileges
510
 
              for extraction; but under Unix, for example, a user
511
 
              who belongs to several  groups  can  restore  files
512
 
              owned  by  any of those groups, as long as the user
513
 
              IDs match his or her own.  Note that ordinary  file
514
 
              attributes are always restored--this option applies
515
 
              only to optional, extra ownership info available on
516
 
              some operating systems.  [NT's access control lists
517
 
              do not appear  to  be  especially  compatible  with
518
 
              OS/2's,  so  no  attempt  is made at cross-platform
519
 
              portability of access privileges.  It is not  clear
520
 
              under  what  conditions  this  would ever be useful
521
 
              anyway.]
522
 
 
523
 
       -$     [MS-DOS, OS/2, NT] restore the volume label if  the
524
 
              extraction  medium is removable (e.g., a diskette).
525
 
              Doubling the option (-$$) allows fixed media  (hard
526
 
              disks)  to be labelled as well.  By default, volume
527
 
              labels are ignored.
528
 
 
529
 
Info-ZIP             28 February 2005 (v5.52)                   9
530
 
 
531
 
UNZIP(1L)                                               UNZIP(1L)
 
440
              This modified behaviour is equivalent to  the  pattern  matching
 
441
              style used by the shells of some of UnZip's supported target OSs
 
442
              (one example is Acorn RISC OS).  This option may not  be  avail-
 
443
              able on systems where the Zip archive's internal directory sepa-
 
444
              rator character `/' is allowed as regular  character  in  native
 
445
              operating  system  filenames.   (Currently,  UnZip uses the same
 
446
              pattern matching rules for both wildcard zipfile  specifications
 
447
              and  zip  entry  selection  patterns in most ports.  For systems
 
448
              allowing `/' as regular filename character, the -W option  would
 
449
              not work as expected on a wildcard zipfile specification.)
 
450
 
 
451
       -X     [VMS,  Unix,  OS/2,  NT,  Tandem]  restore owner/protection info
 
452
              (UICs and ACL  entries)  under  VMS,  or  user  and  group  info
 
453
              (UID/GID)  under Unix, or access control lists (ACLs) under cer-
 
454
              tain network-enabled versions of OS/2 (Warp Server with IBM  LAN
 
455
              Server/Requester 3.0 to 5.0; Warp Connect with IBM Peer 1.0), or
 
456
              security ACLs under Windows NT.  In most cases this will require
 
457
              special  system  privileges, and doubling the option (-XX) under
 
458
              NT instructs unzip to use privileges for extraction;  but  under
 
459
              Unix,  for  example,  a  user  who belongs to several groups can
 
460
              restore files owned by any of those groups, as long as the  user
 
461
              IDs  match  his  or her own.  Note that ordinary file attributes
 
462
              are always restored--this option applies only to optional, extra
 
463
              ownership  info  available  on  some  operating  systems.  [NT's
 
464
              access control lists do not appear to be  especially  compatible
 
465
              with OS/2's, so no attempt is made at cross-platform portability
 
466
              of access privileges.  It is not  clear  under  what  conditions
 
467
              this would ever be useful anyway.]
 
468
 
 
469
       -Y     [VMS]  treat  archived  file  name  endings  of  ``.nnn'' (where
 
470
              ``nnn'' is a decimal  number) as if they were VMS  version  num-
 
471
              bers  (``;nnn'').  (The default is to treat them as file types.)
 
472
              Example:
 
473
                       "a.b.3" -> "a.b;3".
 
474
 
 
475
       -$     [MS-DOS, OS/2, NT] restore the volume label  if  the  extraction
 
476
              medium  is  removable  (e.g.,  a diskette).  Doubling the option
 
477
              (-$$) allows fixed media (hard disks) to be  labelled  as  well.
 
478
              By default, volume labels are ignored.
532
479
 
533
480
       -/ extensions
534
 
              [Acorn only] overrides the extension list  supplied
535
 
              by  Unzip$Ext  environment variable. During extrac-
536
 
              tion, filename extensions that  match  one  of  the
537
 
              items  in  this extension list are swapped in front
538
 
              of the base name of the extracted file.
539
 
 
540
 
       -:     [all but Acorn,  VM/CMS,  MVS,  Tandem]  allows  to
541
 
              extract  archive  members into locations outside of
542
 
              the current `` extraction root folder''. For  secu-
543
 
              rity reasons, unzip normally removes ``parent dir''
544
 
              path  components  (``../'')  from  the   names   of
545
 
              extracted  file.  This safety feature (new for ver-
546
 
              sion 5.50) prevents unzip from accidentally writing
547
 
              files  to  ``sensitive''  areas  outside the active
548
 
              extraction folder tree head.  The  -:  option  lets
549
 
              unzip  switch  back  to  its previous, more liberal
550
 
              behaviour, to allow  exact  extraction  of  (older)
551
 
              archives  that  used  ``../''  components to create
552
 
              multiple directory trees at the level of  the  cur-
553
 
              rent  extraction  folder.   This  option  does  not
554
 
              enable writing explicitly  to  the  root  directory
555
 
              (``/'').   To  achieve this, it is necessary to set
556
 
              the extraction target folder to root (e.g. -d /  ).
557
 
              However,  when  the  -:  option is specified, it is
558
 
              still possible to  implicitly  write  to  the  root
559
 
              directory by specifiying enough ``../'' path compo-
560
 
              nents within the zip archive.  Use this option with
561
 
              extreme caution.
 
481
              [Acorn  only] overrides the extension list supplied by Unzip$Ext
 
482
              environment variable.  During  extraction,  filename  extensions
 
483
              that  match  one of the items in this extension list are swapped
 
484
              in front of the base name of the extracted file.
 
485
 
 
486
       -:     [all but Acorn, VM/CMS, MVS, Tandem] allows to  extract  archive
 
487
              members into locations outside of the current `` extraction root
 
488
              folder''. For security reasons, unzip normally removes  ``parent
 
489
              dir''  path  components  (``../'')  from  the names of extracted
 
490
              file.  This safety feature (new for version 5.50) prevents unzip
 
491
              from  accidentally  writing files to ``sensitive'' areas outside
 
492
              the active extraction folder tree  head.   The  -:  option  lets
 
493
              unzip  switch  back  to its previous, more liberal behaviour, to
 
494
              allow exact extraction of (older)  archives  that  used  ``../''
 
495
              components  to  create  multiple directory trees at the level of
 
496
              the current extraction folder.   This  option  does  not  enable
 
497
              writing  explicitly  to  the root directory (``/'').  To achieve
 
498
              this, it is necessary to set the  extraction  target  folder  to
 
499
              root (e.g. -d / ).  However, when the -: option is specified, it
 
500
              is still possible to implicitly write to the root  directory  by
 
501
              specifying   enough  ``../''  path  components  within  the  zip
 
502
              archive.  Use this option with extreme caution.
 
503
 
 
504
       -^     [Unix only] allow control characters in names of  extracted  ZIP
 
505
              archive  entries.   On Unix, a file name may contain any (8-bit)
 
506
              character code with the two exception '/' (directory  delimiter)
 
507
              and  NUL  (0x00, the C string termination indicator), unless the
 
508
              specific file system has more restrictive  conventions.   Gener-
 
509
              ally,  this  allows  to  embed ASCII control characters (or even
 
510
              sophisticated control sequences) in  file  names,  at  least  on
 
511
              'native'  Unix  file  systems.  However, it may be highly suspi-
 
512
              cious to make use of  this  Unix  "feature".   Embedded  control
 
513
              characters in file names might have nasty side effects when dis-
 
514
              played on screen by some listing code without sufficient filter-
 
515
              ing.   And,  for  ordinary  users, it may be difficult to handle
 
516
              such file names (e.g. when trying to specify it for open,  copy,
 
517
              move,  or delete operations).  Therefore, unzip applies a filter
 
518
              by default that removes potentially dangerous control characters
 
519
              from  the extracted file names. The -^ option allows to override
 
520
              this filter in the rare  case  that  embedded  filename  control
 
521
              characters are to be intentionally restored.
 
522
 
 
523
       -2     [VMS]   force   unconditionally  conversion  of  file  names  to
 
524
              ODS2-compatible names.  The default is to exploit  the  destina-
 
525
              tion file system, preserving case and extended file name charac-
 
526
              ters on an  ODS5  destination  file  system;  and  applying  the
 
527
              ODS2-compatibility  file  name  filtering on an ODS2 destination
 
528
              file system.
562
529
 
563
530
ENVIRONMENT OPTIONS
564
 
       unzip's  default  behavior  may  be  modified  via options
565
 
       placed in an environment variable.  This can be done  with
566
 
       any  option,  but  it is probably most useful with the -a,
567
 
       -L, -C, -q, -o, or -n modifiers:  make unzip  auto-convert
568
 
       text  files  by  default,  make  it convert filenames from
569
 
       uppercase systems to lowercase, make it match names  case-
570
 
       insensitively,  make  it  quieter, or make it always over-
571
 
       write or never overwrite files as it extracts  them.   For
572
 
       example,  to  make  unzip act as quietly as possible, only
573
 
       reporting errors, one would use one of the following  com-
 
531
       unzip's default behavior may be modified via options placed in an envi-
 
532
       ronment variable.  This can be done with any option, but it is probably
 
533
       most useful with the -a, -L, -C, -q, -o, or -n modifiers:   make  unzip
 
534
       auto-convert  text  files  by  default,  make it convert filenames from
 
535
       uppercase systems to lowercase, make it match names case-insensitively,
 
536
       make  it  quieter, or make it always overwrite or never overwrite files
 
537
       as it extracts them.  For example, to make unzip act as quietly as pos-
 
538
       sible,  only  reporting errors, one would use one of the following com-
574
539
       mands:
575
540
 
576
541
         Unix Bourne shell:
583
548
              set UNZIP=-qq
584
549
 
585
550
         VMS (quotes for lowercase):
586
 
              define UNZIP_OPTS ""-qq""
587
 
 
588
 
Info-ZIP             28 February 2005 (v5.52)                  10
589
 
 
590
 
UNZIP(1L)                                               UNZIP(1L)
591
 
 
592
 
       Environment  options are, in effect, considered to be just
593
 
       like any other command-line options, except that they  are
594
 
       effectively  the  first  options  on the command line.  To
595
 
       override an environment option, one may  use  the  ``minus
596
 
       operator'' to remove it.  For instance, to override one of
597
 
       the quiet-flags in the example above, use the command
 
551
              define UNZIP_OPTS "-qq"
 
552
 
 
553
       Environment options are, in effect, considered  to  be  just  like  any
 
554
       other  command-line options, except that they are effectively the first
 
555
       options on the command line.  To override an  environment  option,  one
 
556
       may use the ``minus operator'' to remove it.  For instance, to override
 
557
       one of the quiet-flags in the example above, use the command
598
558
 
599
559
           unzip --q[other options] zipfile
600
560
 
601
 
       The first hyphen is the normal switch character,  and  the
602
 
       second  is a minus sign, acting on the q option.  Thus the
603
 
       effect here is to cancel one  quantum  of  quietness.   To
604
 
       cancel  both  quiet  flags,  two  (or more) minuses may be
605
 
       used:
 
561
       The first hyphen is the normal switch character, and the  second  is  a
 
562
       minus  sign, acting on the q option.  Thus the effect here is to cancel
 
563
       one quantum of quietness.  To cancel both quiet flags,  two  (or  more)
 
564
       minuses may be used:
606
565
 
607
566
           unzip -t--q zipfile
608
567
           unzip ---qt zipfile
609
568
 
610
 
       (the two are equivalent).  This may seem awkward  or  con-
611
 
       fusing,  but  it is reasonably intuitive:  just ignore the
612
 
       first hyphen and go from there.   It  is  also  consistent
613
 
       with the behavior of Unix nice(1).
614
 
 
615
 
       As  suggested  by the examples above, the default variable
616
 
       names are UNZIP_OPTS for VMS (where  the  symbol  used  to
617
 
       install unzip as a foreign command would otherwise be con-
618
 
       fused with the environment variable), and  UNZIP  for  all
619
 
       other  operating systems.  For compatibility with zip(1L),
620
 
       UNZIPOPT is also accepted (don't ask).  If both UNZIP  and
621
 
       UNZIPOPT  are  defined,  however,  UNZIP takes precedence.
622
 
       unzip's diagnostic option (-v with no zipfile name) can be
623
 
       used  to  check  the values of all four possible unzip and
624
 
       zipinfo environment variables.
625
 
 
626
 
       The timezone variable (TZ) should be set according to  the
627
 
       local  timezone in order for the -f and -u to operate cor-
628
 
       rectly.  See the description  of  -f  above  for  details.
629
 
       This  variable  may also be necessary to get timestamps of
630
 
       extracted  files  to  be   set   correctly.    The   WIN32
631
 
       (Win9x/ME/NT4/2K/XP/2K3)  port  of unzip gets the timezone
632
 
       configuration from the registry, assuming it is  correctly
633
 
       set  in the Control Panel.  The TZ variable is ignored for
634
 
       this port.
 
569
       (the  two  are equivalent).  This may seem awkward or confusing, but it
 
570
       is reasonably intuitive:  just ignore the  first  hyphen  and  go  from
 
571
       there.  It is also consistent with the behavior of Unix nice(1).
 
572
 
 
573
       As  suggested  by  the  examples  above, the default variable names are
 
574
       UNZIP_OPTS for VMS (where the symbol used to install unzip as a foreign
 
575
       command would otherwise be confused with the environment variable), and
 
576
       UNZIP for all other operating systems.  For compatibility with zip(1L),
 
577
       UNZIPOPT  is also accepted (don't ask).  If both UNZIP and UNZIPOPT are
 
578
       defined, however, UNZIP takes precedence.   unzip's  diagnostic  option
 
579
       (-v  with  no zipfile name) can be used to check the values of all four
 
580
       possible unzip and zipinfo environment variables.
 
581
 
 
582
       The timezone variable (TZ) should be set according to the  local  time-
 
583
       zone in order for the -f and -u to operate correctly.  See the descrip-
 
584
       tion of -f above for details.  This variable may also be  necessary  to
 
585
       get  timestamps  of  extracted  files  to  be set correctly.  The WIN32
 
586
       (Win9x/ME/NT4/2K/XP/2K3) port of unzip gets the timezone  configuration
 
587
       from  the  registry, assuming it is correctly set in the Control Panel.
 
588
       The TZ variable is ignored for this port.
635
589
 
636
590
DECRYPTION
637
 
       Encrypted archives are fully supported by  Info-ZIP  soft-
638
 
       ware,  but  due  to  United  States  export  restrictions,
639
 
       de-/encryption support might be disabled in your  compiled
640
 
       binary.   However,  since  spring 2000, US export restric-
641
 
       tions have been liberated, and our source archives do  now
642
 
       include  full crypt code.  In case you need binary distri-
643
 
       butions with crypt support enabled, see the file ``WHERE''
644
 
       in  any  Info-ZIP  source or binary distribution for loca-
645
 
       tions both inside and outside the US.
646
 
 
647
 
Info-ZIP             28 February 2005 (v5.52)                  11
648
 
 
649
 
UNZIP(1L)                                               UNZIP(1L)
650
 
 
651
 
       Some compiled versions of unzip may  not  support  decryp-
652
 
       tion.   To  check  a  version  for  crypt  support, either
653
 
       attempt to test or extract an encrypted archive,  or  else
654
 
       check  unzip's diagnostic screen (see the -v option above)
655
 
       for ``[decryption]'' as one  of  the  special  compilation
 
591
       Encrypted archives are fully supported by Info-ZIP software, but due to
 
592
       United States export restrictions, de-/encryption support might be dis-
 
593
       abled in your compiled binary.  However, since spring 2000,  US  export
 
594
       restrictions  have  been  liberated,  and  our  source  archives do now
 
595
       include full crypt code.  In case you need  binary  distributions  with
 
596
       crypt support enabled, see the file ``WHERE'' in any Info-ZIP source or
 
597
       binary distribution for locations both inside and outside the US.
 
598
 
 
599
       Some compiled versions of unzip may not support decryption.  To check a
 
600
       version  for  crypt  support,  either  attempt  to  test  or extract an
 
601
       encrypted archive, or else check unzip's diagnostic screen (see the  -v
 
602
       option  above)  for  ``[decryption]'' as one of the special compilation
656
603
       options.
657
604
 
658
 
       As  noted  above,  the  -P  option may be used to supply a
659
 
       password on the command line, but at a cost  in  security.
660
 
       The  preferred decryption method is simply to extract nor-
661
 
       mally; if a zipfile member is encrypted, unzip will prompt
662
 
       for  the  password  without  echoing what is typed.  unzip
663
 
       continues to use the same password as long as  it  appears
664
 
       to  be  valid,  by  testing a 12-byte header on each file.
665
 
       The correct password will always  check  out  against  the
666
 
       header,  but  there is a 1-in-256 chance that an incorrect
667
 
       password will as well.  (This is a security feature of the
668
 
       PKWARE   zipfile  format;  it  helps  prevent  brute-force
669
 
       attacks that might otherwise gain a large speed  advantage
670
 
       by  testing  only the header.)  In the case that an incor-
671
 
       rect password is given but it passes the header test  any-
672
 
       way,  either  an  incorrect  CRC will be generated for the
673
 
       extracted data or else unzip will fail during the  extrac-
674
 
       tion  because  the ``decrypted'' bytes do not constitute a
675
 
       valid compressed data stream.
676
 
 
677
 
       If the first password fails the header check on some file,
678
 
       unzip  will  prompt  for another password, and so on until
679
 
       all files are extracted.  If  a  password  is  not  known,
680
 
       entering  a null password (that is, just a carriage return
681
 
       or ``Enter'') is taken as a signal  to  skip  all  further
682
 
       prompting.   Only unencrypted files in the archive(s) will
683
 
       thereafter be extracted.  (In fact, that's not quite true;
684
 
       older  versions  of  zip(1L) and zipcloak(1L) allowed null
685
 
       passwords, so unzip checks each encrypted file to  see  if
686
 
       the null password works.  This may result in ``false posi-
687
 
       tives'' and extraction errors, as noted above.)
688
 
 
689
 
       Archives encrypted  with  8-bit  passwords  (for  example,
690
 
       passwords  with  accented  European characters) may not be
691
 
       portable across  systems  and/or  other  archivers.   This
692
 
       problem  stems  from  the use of multiple encoding methods
693
 
       for such characters, including Latin-1  (ISO  8859-1)  and
694
 
       OEM  code  page  850.   DOS  PKZIP 2.04g uses the OEM code
695
 
       page; Windows PKZIP 2.50 uses Latin-1  (and  is  therefore
696
 
       incompatible  with  DOS PKZIP); Info-ZIP uses the OEM code
697
 
       page on DOS, OS/2 and Win3.x ports but Latin-1  everywhere
698
 
       else; and Nico Mak's WinZip 6.x does not allow 8-bit pass-
699
 
       words at all.  UnZip 5.3 (or newer) attempts  to  use  the
700
 
       default  character  set first (e.g., Latin-1), followed by
701
 
       the alternate one (e.g., OEM code page) to test passwords.
702
 
       On  EBCDIC systems, if both of these fail, EBCDIC encoding
703
 
       will be tested as a last resort.  (EBCDIC is not tested on
704
 
       non-EBCDIC  systems,  because there are no known archivers
705
 
 
706
 
Info-ZIP             28 February 2005 (v5.52)                  12
707
 
 
708
 
UNZIP(1L)                                               UNZIP(1L)
709
 
 
710
 
       that encrypt using EBCDIC encoding.)  ISO character encod-
711
 
       ings other than Latin-1 are not supported.
 
605
       As noted above, the -P option may be used to supply a password  on  the
 
606
       command  line,  but  at  a  cost in security.  The preferred decryption
 
607
       method is simply to extract normally; if a zipfile member is encrypted,
 
608
       unzip  will  prompt  for  the  password  without echoing what is typed.
 
609
       unzip continues to use the same password as long as it  appears  to  be
 
610
       valid,  by testing a 12-byte header on each file.  The correct password
 
611
       will always check out against the  header,  but  there  is  a  1-in-256
 
612
       chance  that  an  incorrect password will as well.  (This is a security
 
613
       feature of the PKWARE zipfile  format;  it  helps  prevent  brute-force
 
614
       attacks  that  might  otherwise gain a large speed advantage by testing
 
615
       only the header.)  In the case that an incorrect password is given  but
 
616
       it  passes the header test anyway, either an incorrect CRC will be gen-
 
617
       erated for the extracted data  or  else  unzip  will  fail  during  the
 
618
       extraction  because  the  ``decrypted'' bytes do not constitute a valid
 
619
       compressed data stream.
 
620
 
 
621
       If the first password fails the header check on some file,  unzip  will
 
622
       prompt  for  another password, and so on until all files are extracted.
 
623
       If a password is not known, entering a null password (that is,  just  a
 
624
       carriage  return or ``Enter'') is taken as a signal to skip all further
 
625
       prompting.  Only unencrypted files in the archive(s) will thereafter be
 
626
       extracted.   (In fact, that's not quite true; older versions of zip(1L)
 
627
       and zipcloak(1L) allowed null passwords, so unzip checks each encrypted
 
628
       file  to  see  if  the null password works.  This may result in ``false
 
629
       positives'' and extraction errors, as noted above.)
 
630
 
 
631
       Archives encrypted with 8-bit passwords (for  example,  passwords  with
 
632
       accented European characters) may not be portable across systems and/or
 
633
       other archivers.  This problem stems from the use of multiple  encoding
 
634
       methods  for  such  characters,  including Latin-1 (ISO 8859-1) and OEM
 
635
       code page 850.  DOS PKZIP 2.04g uses the OEM code page;  Windows  PKZIP
 
636
       2.50 uses Latin-1 (and is therefore incompatible with DOS PKZIP); Info-
 
637
       ZIP uses the OEM code page on DOS, OS/2 and Win3.x ports but ISO coding
 
638
       (Latin-1  etc.)  everywhere  else;  and  Nico Mak's WinZip 6.x does not
 
639
       allow 8-bit passwords at all.  UnZip 5.3 (or newer) attempts to use the
 
640
       default  character set first (e.g., Latin-1), followed by the alternate
 
641
       one (e.g., OEM code page) to test passwords.   On  EBCDIC  systems,  if
 
642
       both  of  these  fail, EBCDIC encoding will be tested as a last resort.
 
643
       (EBCDIC is not tested on non-EBCDIC systems, because there are no known
 
644
       archivers that encrypt using EBCDIC encoding.)  ISO character encodings
 
645
       other than Latin-1 are not supported.  The new addition of  (partially)
 
646
       Unicode (resp.  UTF-8) support in UnZip 6.0 has not yet been adapted to
 
647
       the encryption password handling in unzip.  On systems that  use  UTF-8
 
648
       as  native  character  encoding, unzip simply tries decryption with the
 
649
       native UTF-8 encoded password; the built-in attempts to check the pass-
 
650
       word in translated encoding have not yet been adapted for UTF-8 support
 
651
       and will consequently fail.
712
652
 
713
653
EXAMPLES
714
 
       To  use  unzip  to extract all members of the archive let-
715
 
       ters.zip into the  current  directory  and  subdirectories
716
 
       below it, creating any subdirectories as necessary:
 
654
       To use unzip to extract all members of the archive letters.zip into the
 
655
       current directory and subdirectories below it, creating any subdirecto-
 
656
       ries as necessary:
717
657
 
718
658
           unzip letters
719
659
 
720
 
       To  extract  all  members  of letters.zip into the current
721
 
       directory only:
 
660
       To extract all members of letters.zip into the current directory only:
722
661
 
723
662
           unzip -j letters
724
663
 
725
 
       To test letters.zip, printing only a summary message indi-
726
 
       cating whether the archive is OK or not:
 
664
       To test letters.zip, printing only a summary message indicating whether
 
665
       the archive is OK or not:
727
666
 
728
667
           unzip -tq letters
729
668
 
730
 
       To  test  all  zipfiles in the current directory, printing
731
 
       only the summaries:
 
669
       To  test  all zipfiles in the current directory, printing only the sum-
 
670
       maries:
732
671
 
733
672
           unzip -tq \*.zip
734
673
 
735
 
       (The backslash before the asterisk is only required if the
736
 
       shell  expands  wildcards, as in Unix; double quotes could
737
 
       have  been  used  instead,  as  in  the  source   examples
738
 
       below.)  To extract to standard output all members of let-
739
 
       ters.zip whose names end in .tex, auto-converting  to  the
740
 
       local  end-of-line  convention  and piping the output into
741
 
       more(1):
 
674
       (The backslash before the  asterisk  is  only  required  if  the  shell
 
675
       expands  wildcards,  as  in  Unix;  double  quotes could have been used
 
676
       instead, as in the source examples below.)  To extract to standard out-
 
677
       put all members of letters.zip whose names end in .tex, auto-converting
 
678
       to the local end-of-line convention and piping the output into more(1):
742
679
 
743
680
           unzip -ca letters \*.tex | more
744
681
 
745
 
       To extract the binary file paper1.dvi to  standard  output
746
 
       and pipe it to a printing program:
 
682
       To extract the binary file paper1.dvi to standard output and pipe it to
 
683
       a printing program:
747
684
 
748
685
           unzip -p articles paper1.dvi | dvips
749
686
 
750
 
       To  extract all FORTRAN and C source files--*.f, *.c, *.h,
751
 
       and Makefile--into the /tmp directory:
 
687
       To extract all FORTRAN and C source files--*.f,  *.c,  *.h,  and  Make-
 
688
       file--into the /tmp directory:
752
689
 
753
690
           unzip source.zip "*.[fch]" Makefile -d /tmp
754
691
 
755
 
       (the double quotes are necessary only in Unix and only  if
756
 
       globbing  is  turned  on).   To  extract all FORTRAN and C
757
 
       source files, regardless of case (e.g., both *.c and  *.C,
758
 
       and any makefile, Makefile, MAKEFILE or similar):
 
692
       (the  double  quotes are necessary only in Unix and only if globbing is
 
693
       turned on).  To extract all FORTRAN and C source files,  regardless  of
 
694
       case  (e.g.,  both *.c and *.C, and any makefile, Makefile, MAKEFILE or
 
695
       similar):
759
696
 
760
697
           unzip -C source.zip "*.[fch]" makefile -d /tmp
761
698
 
762
 
       To extract any such files but convert any uppercase MS-DOS
763
 
       or VMS names to lowercase and convert the line-endings  of
764
 
 
765
 
Info-ZIP             28 February 2005 (v5.52)                  13
766
 
 
767
 
UNZIP(1L)                                               UNZIP(1L)
768
 
 
769
 
       all of the files to the local standard (without respect to
770
 
       any files that might be marked ``binary''):
 
699
       To extract any such files but convert any uppercase MS-DOS or VMS names
 
700
       to  lowercase  and  convert the line-endings of all of the files to the
 
701
       local standard (without respect to  any  files  that  might  be  marked
 
702
       ``binary''):
771
703
 
772
704
           unzip -aaCL source.zip "*.[fch]" makefile -d /tmp
773
705
 
774
 
       To extract only newer versions of the files already in the
775
 
       current  directory, without querying (NOTE:  be careful of
776
 
       unzipping  in  one   timezone   a   zipfile   created   in
777
 
       another--ZIP  archives other than those created by Zip 2.1
778
 
       or later contain no timezone information, and a  ``newer''
779
 
       file from an eastern timezone may, in fact, be older):
 
706
       To  extract  only  newer  versions  of the files already in the current
 
707
       directory, without querying (NOTE:  be  careful  of  unzipping  in  one
 
708
       timezone  a  zipfile  created in another--ZIP archives other than those
 
709
       created by Zip 2.1 or later contain  no  timezone  information,  and  a
 
710
       ``newer'' file from an eastern timezone may, in fact, be older):
780
711
 
781
712
           unzip -fo sources
782
713
 
783
 
       To extract newer versions of the files already in the cur-
784
 
       rent directory and to create any files not  already  there
785
 
       (same caveat as previous example):
 
714
       To extract newer versions of the files already in the current directory
 
715
       and to create any files not already  there  (same  caveat  as  previous
 
716
       example):
786
717
 
787
718
           unzip -uo sources
788
719
 
789
 
       To  display  a  diagnostic  screen showing which unzip and
790
 
       zipinfo  options  are  stored  in  environment  variables,
791
 
       whether  decryption  support was compiled in, the compiler
792
 
       with which unzip was compiled, etc.:
 
720
       To  display a diagnostic screen showing which unzip and zipinfo options
 
721
       are stored in environment variables,  whether  decryption  support  was
 
722
       compiled in, the compiler with which unzip was compiled, etc.:
793
723
 
794
724
           unzip -v
795
725
 
796
 
       In the last five examples, assume that UNZIP or UNZIP_OPTS
797
 
       is set to -q.  To do a singly quiet listing:
 
726
       In  the  last  five examples, assume that UNZIP or UNZIP_OPTS is set to
 
727
       -q.  To do a singly quiet listing:
798
728
 
799
729
           unzip -l file.zip
800
730
 
802
732
 
803
733
           unzip -ql file.zip
804
734
 
805
 
       (Note  that  the ``.zip'' is generally not necessary.)  To
806
 
       do a standard listing:
 
735
       (Note that the ``.zip'' is generally not necessary.)  To do a  standard
 
736
       listing:
807
737
 
808
738
           unzip --ql file.zip
809
739
       or
813
743
       (Extra minuses in options don't hurt.)
814
744
 
815
745
TIPS
816
 
       The current maintainer, being a lazy sort, finds  it  very
817
 
       useful  to define a pair of aliases:  tt for ``unzip -tq''
818
 
       and ii for ``unzip -Z'' (or ``zipinfo'').   One  may  then
819
 
       simply  type  ``tt zipfile'' to test an archive, something
820
 
       that is worth making a habit of doing.   With  luck  unzip
821
 
       will  report  ``No  errors  detected in compressed data of
822
 
       zipfile.zip,'' after which  one  may  breathe  a  sigh  of
823
 
 
824
 
Info-ZIP             28 February 2005 (v5.52)                  14
825
 
 
826
 
UNZIP(1L)                                               UNZIP(1L)
827
 
 
828
 
       relief.
829
 
 
830
 
       The maintainer also finds it useful to set the UNZIP envi-
831
 
       ronment variable to ``-aL'' and is tempted to  add  ``-C''
832
 
       as well.  His ZIPINFO variable is set to ``-z''.
 
746
       The  current  maintainer,  being  a  lazy sort, finds it very useful to
 
747
       define a pair of aliases:  tt for ``unzip -tq'' and ii for ``unzip -Z''
 
748
       (or  ``zipinfo'').   One may then simply type ``tt zipfile'' to test an
 
749
       archive, something that is worth making a habit of  doing.   With  luck
 
750
       unzip  will  report  ``No  errors  detected  in compressed data of zip-
 
751
       file.zip,'' after which one may breathe a sigh of relief.
 
752
 
 
753
       The maintainer also finds it useful to set the UNZIP environment  vari-
 
754
       able  to  ``-aL''  and  is  tempted to add ``-C'' as well.  His ZIPINFO
 
755
       variable is set to ``-z''.
833
756
 
834
757
DIAGNOSTICS
835
 
       The  exit  status  (or  error level) approximates the exit
836
 
       codes defined by PKWARE and takes on the following values,
837
 
       except under VMS:
 
758
       The exit status (or error level) approximates the exit codes defined by
 
759
       PKWARE and takes on the following values, except under VMS:
838
760
 
839
761
              0      normal; no errors or warnings detected.
840
762
 
841
 
              1      one or more warning errors were encountered,
842
 
                     but processing completed  successfully  any-
843
 
                     way.   This  includes  zipfiles where one or
844
 
                     more files was skipped  due  to  unsupported
845
 
                     compression  method  or  encryption  with an
846
 
                     unknown password.
 
763
              1      one or more warning errors were encountered, but process-
 
764
                     ing completed successfully anyway.   This  includes  zip-
 
765
                     files  where  one or more files was skipped due to unsup-
 
766
                     ported compression method or encryption with  an  unknown
 
767
                     password.
847
768
 
848
 
              2      a generic error in the  zipfile  format  was
849
 
                     detected.   Processing  may  have  completed
850
 
                     successfully anyway;  some  broken  zipfiles
851
 
                     created by other archivers have simple work-
 
769
              2      a generic error in the zipfile format was detected.  Pro-
 
770
                     cessing may have completed successfully anyway; some bro-
 
771
                     ken zipfiles created by other archivers have simple work-
852
772
                     arounds.
853
773
 
854
 
              3      a severe error in  the  zipfile  format  was
855
 
                     detected.   Processing probably failed imme-
856
 
                     diately.
857
 
 
858
 
              4      unzip was unable to allocate memory for  one
859
 
                     or  more  buffers during program initializa-
860
 
                     tion.
861
 
 
862
 
              5      unzip  was  unable  to  allocate  memory  or
863
 
                     unable  to  obtain a tty to read the decryp-
864
 
                     tion password(s).
865
 
 
866
 
              6      unzip was unable to allocate  memory  during
867
 
                     decompression to disk.
868
 
 
869
 
              7      unzip  was  unable to allocate memory during
870
 
                     in-memory decompression.
 
774
              3      a severe error in the zipfile format was detected.   Pro-
 
775
                     cessing probably failed immediately.
 
776
 
 
777
              4      unzip  was  unable  to  allocate  memory  for one or more
 
778
                     buffers during program initialization.
 
779
 
 
780
              5      unzip was unable to allocate memory or unable to obtain a
 
781
                     tty to read the decryption password(s).
 
782
 
 
783
              6      unzip  was unable to allocate memory during decompression
 
784
                     to disk.
 
785
 
 
786
              7      unzip was unable  to  allocate  memory  during  in-memory
 
787
                     decompression.
871
788
 
872
789
              8      [currently not used]
873
790
 
874
791
              9      the specified zipfiles were not found.
875
792
 
876
 
              10     invalid options were specified on  the  com-
877
 
                     mand line.
 
793
              10     invalid options were specified on the command line.
878
794
 
879
795
              11     no matching files were found.
880
796
 
881
797
              50     the disk is (or was) full during extraction.
882
798
 
883
 
Info-ZIP             28 February 2005 (v5.52)                  15
884
 
 
885
 
UNZIP(1L)                                               UNZIP(1L)
886
 
 
887
 
              51     the end of the ZIP archive  was  encountered
888
 
                     prematurely.
889
 
 
890
 
              80     the user aborted unzip prematurely with con-
891
 
                     trol-C (or similar)
892
 
 
893
 
              81     testing or extraction of one or  more  files
894
 
                     failed  due to unsupported compression meth-
895
 
                     ods or unsupported decryption.
896
 
 
897
 
              82     no files were found due  to  bad  decryption
898
 
                     password(s).   (If even one file is success-
899
 
                     fully processed, however, the exit status is
900
 
                     1.)
901
 
 
902
 
       VMS  interprets  standard  Unix  (or  PC) return values as
903
 
       other, scarier-looking things, so unzip instead maps  them
904
 
       into  VMS-style  status  codes.  The current mapping is as
905
 
       follows:   1 (success) for  normal  exit,  0x7fff0001  for
906
 
       warning     errors,     and    (0x7fff000?    +    16*nor-
907
 
       mal_unzip_exit_status) for all other errors, where the `?'
908
 
       is  2  (error)  for  unzip values 2, 9-11 and 80-82, and 4
909
 
       (fatal error) for the remaining ones (3-8,  50,  51).   In
910
 
       addition,  there  is  a  compilation option to expand upon
911
 
       this behavior:  defining RETURN_CODES results in a  human-
 
799
              51     the end of the ZIP archive was encountered prematurely.
 
800
 
 
801
              80     the  user  aborted  unzip  prematurely with control-C (or
 
802
                     similar)
 
803
 
 
804
              81     testing or extraction of one or more files failed due  to
 
805
                     unsupported  compression  methods  or unsupported decryp-
 
806
                     tion.
 
807
 
 
808
              82     no files were found due to  bad  decryption  password(s).
 
809
                     (If even one file is successfully processed, however, the
 
810
                     exit status is 1.)
 
811
 
 
812
       VMS interprets standard Unix (or PC) return values as  other,  scarier-
 
813
       looking things, so unzip instead maps them into VMS-style status codes.
 
814
       The current mapping is as  follows:    1  (success)  for  normal  exit,
 
815
       0x7fff0001    for   warning   errors,   and   (0x7fff000?   +   16*nor-
 
816
       mal_unzip_exit_status) for all other errors, where the `?' is 2 (error)
 
817
       for unzip values 2, 9-11 and 80-82, and 4 (fatal error) for the remain-
 
818
       ing ones (3-8, 50, 51).  In addition, there is a compilation option  to
 
819
       expand  upon  this behavior:  defining RETURN_CODES results in a human-
912
820
       readable explanation of what the error status means.
913
821
 
914
822
BUGS
915
 
       Multi-part  archives are not yet supported, except in con-
916
 
       junction  with  zip.   (All  parts  must  be  concatenated
917
 
       together  in  order, and then ``zip -F'' must be performed
918
 
       on the concatenated archive in order to ``fix'' it.)  This
919
 
       will definitely be corrected in the next major release.
920
 
 
921
 
       Archives  read  from standard input are not yet supported,
922
 
       except with funzip (and then only the first member of  the
923
 
       archive can be extracted).
924
 
 
925
 
       Archives  encrypted  with 8-bit passwords (e.g., passwords
926
 
       with accented European characters)  may  not  be  portable
927
 
       across systems and/or other archivers.  See the discussion
928
 
       in DECRYPTION above.
929
 
 
930
 
       unzip's -M (``more'') option tries to  take  into  account
931
 
       automatic  wrapping  of  long lines. However, the code may
932
 
       fail to detect the correct wrapping locations. First,  TAB
933
 
       characters  (and  similar control sequences) are not taken
934
 
       into account, they are handled as ordinary printable char-
935
 
       acters.  Second, depending on the actual system / OS port,
936
 
       unzip may not detect the true screen geometry  but  rather
937
 
       rely  on  "commonly used" default dimensions.  The correct
938
 
       handling of tabs would require  the  implementation  of  a
939
 
       query  for  the  actual tabulator setup on the output con-
940
 
       sole.
941
 
 
942
 
Info-ZIP             28 February 2005 (v5.52)                  16
943
 
 
944
 
UNZIP(1L)                                               UNZIP(1L)
945
 
 
946
 
       Dates, times and permissions of stored directories are not
947
 
       restored except under Unix. (On Windows NT and successors,
948
 
       timestamps are now restored.)
949
 
 
950
 
       [MS-DOS] When extracting or testing files from an  archive
951
 
       on  a defective floppy diskette, if the ``Fail'' option is
952
 
       chosen from DOS's ``Abort, Retry, Fail?''  message,  older
953
 
       versions of unzip may hang the system, requiring a reboot.
954
 
       This problem appears to be fixed, but control-C  (or  con-
955
 
       trol-Break) can still be used to terminate unzip.
956
 
 
957
 
       Under  DEC Ultrix, unzip would sometimes fail on long zip-
958
 
       files (bad CRC, not always reproducible).  This was appar-
959
 
       ently  due  either  to a hardware bug (cache memory) or an
960
 
       operating system bug (improper handling of page  faults?).
961
 
       Since  Ultrix  has been abandoned in favor of Digital Unix
962
 
       (OSF/1), this may not be an issue anymore.
963
 
 
964
 
       [Unix] Unix special files  such  as  FIFO  buffers  (named
965
 
       pipes),  block  devices  and  character  devices  are  not
966
 
       restored even if they are somehow represented in the  zip-
967
 
       file,  nor  are hard-linked files relinked.  Basically the
968
 
       only file types  restored  by  unzip  are  regular  files,
969
 
       directories and symbolic (soft) links.
970
 
 
971
 
       [OS/2]  Extended  attributes  for existing directories are
972
 
       only updated if  the  -o  (``overwrite  all'')  option  is
973
 
       given.   This  is  a  limitation  of the operating system;
974
 
       because directories only have a creation  time  associated
975
 
       with  them,  unzip  has  no  way  to determine whether the
976
 
       stored attributes are newer or older than those  on  disk.
977
 
       In practice this may mean a two-pass approach is required:
978
 
       first unpack the archive normally (with or without  fresh-
979
 
       ening/updating  existing  files),  then overwrite just the
980
 
       directory entries (e.g., ``unzip -o foo */'').
981
 
 
982
 
       [VMS] When  extracting  to  another  directory,  only  the
983
 
       [.foo]  syntax  is  accepted for the -d option; the simple
984
 
       Unix foo syntax is silently ignored (as is the less common
985
 
       VMS foo.dir syntax).
986
 
 
987
 
       [VMS]  When  the  file  being  extracted  already  exists,
988
 
       unzip's query only allows skipping, overwriting or  renam-
989
 
       ing;  there should additionally be a choice for creating a
990
 
       new version of  the  file.   In  fact,  the  ``overwrite''
991
 
       choice  does  create a new version; the old version is not
992
 
       overwritten or deleted.
 
823
       Multi-part archives are not yet supported, except in  conjunction  with
 
824
       zip.  (All parts must be concatenated together in order, and then ``zip
 
825
       -F'' (for zip 2.x) or ``zip -FF'' (for zip 3.x) must  be  performed  on
 
826
       the  concatenated  archive  in  order to ``fix'' it.  Also, zip 3.0 and
 
827
       later can combine multi-part (split) archives into a  combined  single-
 
828
       file  archive using ``zip -s- inarchive -O outarchive''.  See the zip 3
 
829
       manual page for more information.)  This will definitely  be  corrected
 
830
       in the next major release.
 
831
 
 
832
       Archives  read  from  standard input are not yet supported, except with
 
833
       funzip  (and  then  only  the  first  member  of  the  archive  can  be
 
834
       extracted).
 
835
 
 
836
       Archives  encrypted with 8-bit passwords (e.g., passwords with accented
 
837
       European characters) may not be portable across  systems  and/or  other
 
838
       archivers.  See the discussion in DECRYPTION above.
 
839
 
 
840
       unzip's -M (``more'') option tries to take into account automatic wrap-
 
841
       ping of long lines. However, the code may fail to  detect  the  correct
 
842
       wrapping   locations.   First,  TAB  characters  (and  similar  control
 
843
       sequences) are not taken into account, they  are  handled  as  ordinary
 
844
       printable  characters.   Second,  depending  on  the actual system / OS
 
845
       port, unzip may not detect the true screen geometry but rather rely  on
 
846
       "commonly used" default dimensions.  The correct handling of tabs would
 
847
       require the implementation of a query for the actual tabulator setup on
 
848
       the output console.
 
849
 
 
850
       Dates,  times  and  permissions  of stored directories are not restored
 
851
       except under Unix. (On Windows NT and successors,  timestamps  are  now
 
852
       restored.)
 
853
 
 
854
       [MS-DOS]  When  extracting or testing files from an archive on a defec-
 
855
       tive floppy diskette, if the  ``Fail''  option  is  chosen  from  DOS's
 
856
       ``Abort,  Retry,  Fail?'' message, older versions of unzip may hang the
 
857
       system, requiring a reboot.  This problem appears to be fixed, but con-
 
858
       trol-C (or control-Break) can still be used to terminate unzip.
 
859
 
 
860
       Under DEC Ultrix, unzip would sometimes fail on long zipfiles (bad CRC,
 
861
       not always reproducible).  This was apparently due either to a hardware
 
862
       bug  (cache  memory)  or  an operating system bug (improper handling of
 
863
       page faults?).  Since Ultrix has been abandoned  in  favor  of  Digital
 
864
       Unix (OSF/1), this may not be an issue anymore.
 
865
 
 
866
       [Unix]  Unix  special  files  such as FIFO buffers (named pipes), block
 
867
       devices and character devices are not restored even if they are somehow
 
868
       represented  in the zipfile, nor are hard-linked files relinked.  Basi-
 
869
       cally the only file types restored by unzip are regular files, directo-
 
870
       ries and symbolic (soft) links.
 
871
 
 
872
       [OS/2] Extended attributes for existing directories are only updated if
 
873
       the -o (``overwrite all'') option is given.  This is  a  limitation  of
 
874
       the  operating  system;  because  directories only have a creation time
 
875
       associated with them, unzip has no way to determine whether the  stored
 
876
       attributes are newer or older than those on disk.  In practice this may
 
877
       mean a two-pass approach is required:  first unpack  the  archive  nor-
 
878
       mally  (with  or  without  freshening/updating  existing  files),  then
 
879
       overwrite just the directory entries (e.g., ``unzip -o foo */'').
 
880
 
 
881
       [VMS] When extracting to another directory, only the [.foo]  syntax  is
 
882
       accepted  for  the  -d  option;  the simple Unix foo syntax is silently
 
883
       ignored (as is the less common VMS foo.dir syntax).
 
884
 
 
885
       [VMS] When the file being extracted already exists, unzip's query  only
 
886
       allows  skipping, overwriting or renaming; there should additionally be
 
887
       a choice for creating a new version of the file.  In fact, the  ``over-
 
888
       write''  choice does create a new version; the old version is not over-
 
889
       written or deleted.
993
890
 
994
891
SEE ALSO
995
 
       funzip(1L),  zip(1L),  zipcloak(1L),   zipgrep(1L),   zip-
996
 
       info(1L), zipnote(1L), zipsplit(1L)
 
892
       funzip(1L),  zip(1L),  zipcloak(1L),  zipgrep(1L),  zipinfo(1L),   zip-
 
893
       note(1L), zipsplit(1L)
997
894
 
998
895
URL
999
896
       The Info-ZIP home page is currently at
1000
 
 
1001
 
Info-ZIP             28 February 2005 (v5.52)                  17
1002
 
 
1003
 
UNZIP(1L)                                               UNZIP(1L)
1004
 
 
1005
897
           http://www.info-zip.org/pub/infozip/
1006
898
       or
1007
899
           ftp://ftp.info-zip.org/pub/infozip/ .
1008
900
 
1009
901
AUTHORS
1010
 
       The  primary Info-ZIP authors (current semi-active members
1011
 
       of the Zip-Bugs workgroup) are:  Ed Gordon  (Zip,  general
1012
 
       maintenance,  shared  code, Zip64, Win32, Unix); Christian
1013
 
       Spieler  (UnZip  maintenance  coordination,  VMS,  MS-DOS,
1014
 
       Win32,  shared code, general Zip and UnZip integration and
1015
 
       optimization); Onno  van  der  Linden  (Zip);  Mike  White
1016
 
       (Win32,  Windows GUI, Windows DLLs); Kai Uwe Rommel (OS/2,
1017
 
       Win32); Steven M. Schweda (VMS, support of new  features);
1018
 
       Paul  Kienitz  (Amiga,  Win32); Chris Herborth (BeOS, QNX,
1019
 
       Atari); Jonathan Hudson (SMS/QDOS); Sergio  Monesi  (Acorn
1020
 
       RISC  OS); Harald Denker (Atari, MVS); John Bush (Solaris,
1021
 
       Amiga); Hunter Goatley (VMS, Info-ZIP  Site  maintenance);
1022
 
       Steve  Salisbury  (Win32);  Steve Miller (Windows CE GUI),
1023
 
       Johnny Lee (MS-DOS, Win32, Zip64); and Dave Smith  (Tandem
1024
 
       NSK).
1025
 
 
1026
 
       The  following  people were former members of the Info-ZIP
1027
 
       development group and provided major contributions to  key
1028
 
       parts  of  the  current  code:  Greg ``Cave Newt'' Roelofs
1029
 
       (UnZip, unshrink decompression); Jean-loup Gailly (deflate
1030
 
       compression);  Mark Adler (inflate decompression, fUnZip).
1031
 
 
1032
 
       The author of the original unzip  code  upon  which  Info-
1033
 
       ZIP's  was  based is Samuel H. Smith; Carl Mascott did the
1034
 
       first Unix port; and David P.   Kirschbaum  organized  and
1035
 
       led Info-ZIP in its early days with Keith Petersen hosting
1036
 
       the original mailing list at WSMR-SimTel20.  The full list
1037
 
       of  contributors  to  UnZip  has grown quite large; please
1038
 
       refer to the CONTRIBS file in the UnZip  source  distribu-
1039
 
       tion for a relatively complete version.
 
902
       The  primary  Info-ZIP authors (current semi-active members of the Zip-
 
903
       Bugs workgroup) are:  Ed Gordon (Zip, general maintenance, shared code,
 
904
       Zip64,  Win32,  Unix,  Unicode);  Christian  Spieler (UnZip maintenance
 
905
       coordination, VMS, MS-DOS, Win32, shared code, general  Zip  and  UnZip
 
906
       integration  and  optimization);  Onno van der Linden (Zip); Mike White
 
907
       (Win32, Windows GUI, Windows  DLLs);  Kai  Uwe  Rommel  (OS/2,  Win32);
 
908
       Steven  M.  Schweda  (VMS, Unix, support of new features); Paul Kienitz
 
909
       (Amiga, Win32, Unicode); Chris Herborth (BeOS,  QNX,  Atari);  Jonathan
 
910
       Hudson (SMS/QDOS); Sergio Monesi (Acorn RISC OS); Harald Denker (Atari,
 
911
       MVS); John Bush (Solaris, Amiga); Hunter Goatley  (VMS,  Info-ZIP  Site
 
912
       maintenance);  Steve  Salisbury (Win32); Steve Miller (Windows CE GUI),
 
913
       Johnny Lee (MS-DOS, Win32, Zip64); and Dave Smith (Tandem NSK).
 
914
 
 
915
       The following people were former members of  the  Info-ZIP  development
 
916
       group  and  provided  major  contributions  to key parts of the current
 
917
       code: Greg ``Cave Newt'' Roelofs (UnZip, unshrink decompression); Jean-
 
918
       loup  Gailly  (deflate compression); Mark Adler (inflate decompression,
 
919
       fUnZip).
 
920
 
 
921
       The author of the original unzip code upon which Info-ZIP's  was  based
 
922
       is  Samuel H. Smith; Carl Mascott did the first Unix port; and David P.
 
923
       Kirschbaum organized and led Info-ZIP in  its  early  days  with  Keith
 
924
       Petersen  hosting the original mailing list at WSMR-SimTel20.  The full
 
925
       list of contributors to UnZip has grown quite large;  please  refer  to
 
926
       the  CONTRIBS  file  in  the UnZip source distribution for a relatively
 
927
       complete version.
1040
928
 
1041
929
VERSIONS
1042
930
       v1.2   15 Mar 89   Samuel H. Smith
1056
944
       v5.3   22 Apr 97   Info-ZIP (Zip-Bugs subgroup, GRR)
1057
945
       v5.31  31 May 97   Info-ZIP (Zip-Bugs subgroup, GRR)
1058
946
       v5.32   3 Nov 97   Info-ZIP (Zip-Bugs subgroup, GRR)
1059
 
 
1060
 
Info-ZIP             28 February 2005 (v5.52)                  18
1061
 
 
1062
 
UNZIP(1L)                                               UNZIP(1L)
1063
 
 
1064
947
       v5.4   28 Nov 98   Info-ZIP (Zip-Bugs subgroup, SPC)
1065
948
       v5.41  16 Apr 00   Info-ZIP (Zip-Bugs subgroup, SPC)
1066
949
       v5.42  14 Jan 01   Info-ZIP (Zip-Bugs subgroup, SPC)
1067
950
       v5.5   17 Feb 02   Info-ZIP (Zip-Bugs subgroup, SPC)
1068
951
       v5.51  22 May 04   Info-ZIP (Zip-Bugs subgroup, SPC)
1069
952
       v5.52  28 Feb 05   Info-ZIP (Zip-Bugs subgroup, SPC)
1070
 
 
1071
 
Info-ZIP             28 February 2005 (v5.52)                  19
1072
 
 
 
953
       v6.0   20 Apr 09   Info-ZIP (Zip-Bugs subgroup, SPC)
 
954
 
 
955
Info-ZIP                     20 April 2009 (v6.0)                    UNZIP(1L)