Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
6725 siemargl 1
ZIPINFO(1L)                                                        ZIPINFO(1L)
2
 
3
NAME
4
       zipinfo - list detailed information about a ZIP archive
5
 
6
SYNOPSIS
7
       zipinfo [-12smlvhMtTz] file[.zip] [file(s) ...] [-x xfile(s) ...]
8
 
9
       unzip -Z [-12smlvhMtTz] file[.zip] [file(s) ...] [-x xfile(s) ...]
10
 
11
DESCRIPTION
12
       zipinfo  lists technical information about files in a ZIP archive, most
13
       commonly found on  MS-DOS  systems.   Such  information  includes  file
14
       access permissions, encryption status, type of compression, version and
15
       operating system or file system of compressing program, and  the  like.
16
       The  default  behavior (with no options) is to list single-line entries
17
       for each file in the archive, with header and trailer  lines  providing
18
       summary  information  for  the  entire  archive.  The format is a cross
19
       between Unix ``ls -l'' and ``unzip -v'' output.  See DETAILED  DESCRIP-
20
       TION  below.   Note  that  zipinfo  is the same program as unzip (under
21
       Unix, a link to it); on some systems, however, zipinfo support may have
22
       been omitted when unzip was compiled.
23
 
24
ARGUMENTS
25
       file[.zip]
26
              Path  of  the  ZIP  archive(s).   If the file specification is a
27
              wildcard, each matching file is processed in an order determined
28
              by the operating system (or file system).  Only the filename can
29
              be a wildcard; the path itself cannot.  Wildcard expressions are
30
              similar to Unix egrep(1) (regular) expressions and may contain:
31
 
32
              *      matches a sequence of 0 or more characters
33
 
34
              ?      matches exactly 1 character
35
 
36
              [...]  matches  any  single character found inside the brackets;
37
                     ranges are specified by a beginning character, a  hyphen,
38
                     and  an  ending  character.  If an exclamation point or a
39
                     caret (`!' or `^') follows the  left  bracket,  then  the
40
                     range  of  characters within the brackets is complemented
41
                     (that is,  anything  except  the  characters  inside  the
42
                     brackets  is  considered a match).  To specify a verbatim
43
                     left bracket, the three-character sequence ``[[]'' has to
44
                     be used.
45
 
46
              (Be  sure  to quote any character that might otherwise be inter-
47
              preted or modified by the operating system,  particularly  under
48
              Unix  and  VMS.)   If no matches are found, the specification is
49
              assumed to be a literal filename; and if that  also  fails,  the
50
              suffix  .zip  is  appended.  Note that self-extracting ZIP files
51
              are supported, as with any other ZIP archive; just  specify  the
52
              .exe suffix (if any) explicitly.
53
 
54
       [file(s)]
55
              An  optional  list of archive members to be processed, separated
56
              by spaces.  (VMS versions  compiled  with  VMSCLI  defined  must
57
              delimit  files with commas instead.)  Regular expressions (wild-
58
              cards) may be used to match multiple members; see above.  Again,
59
              be sure to quote expressions that would otherwise be expanded or
60
              modified by the operating system.
61
 
62
       [-x xfile(s)]
63
              An optional list of archive members to be excluded from process-
64
              ing.
65
 
66
OPTIONS
67
       -1     list  filenames  only,  one  per line.  This option excludes all
68
              others;  headers,  trailers  and  zipfile  comments  are   never
69
              printed.  It is intended for use in Unix shell scripts.
70
 
71
       -2     list  filenames  only,  one  per  line,  but allow headers (-h),
72
              trailers (-t) and zipfile comments (-z), as well.   This  option
73
              may  be  useful in cases where the stored filenames are particu-
74
              larly long.
75
 
76
       -s     list zipfile info in short Unix ``ls -l'' format.  This  is  the
77
              default behavior; see below.
78
 
79
       -m     list zipfile info in medium Unix ``ls -l'' format.  Identical to
80
              the -s output, except that the compression factor, expressed  as
81
              a percentage, is also listed.
82
 
83
       -l     list  zipfile  info  in  long Unix ``ls -l'' format.  As with -m
84
              except that the compressed size (in bytes) is printed instead of
85
              the compression ratio.
86
 
87
       -v     list zipfile information in verbose, multi-page format.
88
 
89
       -h     list  header line.  The archive name, actual size (in bytes) and
90
              total number of files is printed.
91
 
92
       -M     pipe all output through an internal pager similar  to  the  Unix
93
              more(1)  command.   At the end of a screenful of output, zipinfo
94
              pauses with a ``--More--'' prompt; the  next  screenful  may  be
95
              viewed  by  pressing  the  Enter  (Return) key or the space bar.
96
              zipinfo can be terminated by pressing the ``q'' key and, on some
97
              systems, the Enter/Return key.  Unlike Unix more(1), there is no
98
              forward-searching or editing capability.  Also, zipinfo  doesn't
99
              notice if long lines wrap at the edge of the screen, effectively
100
              resulting in the printing of two or more lines and  the  likeli-
101
              hood that some text will scroll off the top of the screen before
102
              being viewed.  On some systems the number of available lines  on
103
              the  screen  is  not detected, in which case zipinfo assumes the
104
              height is 24 lines.
105
 
106
       -t     list totals for files listed or for all files.   The  number  of
107
              files  listed,  their  uncompressed and compressed total sizes ,
108
              and their overall compression factor is printed; or, if only the
109
              totals  line is being printed, the values for the entire archive
110
              are given.  The compressed total size does not  include  the  12
111
              additional  header  bytes of each encrypted entry. Note that the
112
              total compressed (data) size will never match the actual zipfile
113
              size,  since  the  latter  includes  all of the internal zipfile
114
              headers in addition to the compressed data.
115
 
116
       -T     print the file dates and times  in  a  sortable  decimal  format
117
              (yymmdd.hhmmss).   The  default  date format is a more standard,
118
              human-readable version with abbreviated month names  (see  exam-
119
              ples below).
120
 
121
       -U     [UNICODE_SUPPORT  only]  modify or disable UTF-8 handling.  When
122
              UNICODE_SUPPORT is available, the  option  -U  forces  unzip  to
123
              escape  all  non-ASCII  characters from UTF-8 coded filenames as
124
              ``#Uxxxx''.  This option is mainly provided for  debugging  pur-
125
              pose when the fairly new UTF-8 support is suspected to mangle up
126
              extracted filenames.
127
 
128
              The option -UU allows to entirely  disable  the  recognition  of
129
              UTF-8  encoded  filenames.   The  handling  of  filename codings
130
              within unzip falls back to the behaviour of previous versions.
131
 
132
       -z     include the archive comment (if any) in the listing.
133
 
134
DETAILED DESCRIPTION
135
       zipinfo has a number of modes, and its behavior can be rather difficult
136
       to  fathom  if  one isn't familiar with Unix ls(1) (or even if one is).
137
       The default behavior is to list files in the following format:
138
 
139
  -rw-rws---  1.9 unx    2802 t- defX 11-Aug-91 13:48 perms.2660
140
 
141
       The last three fields are the modification date and time of  the  file,
142
       and  its  name.  The case of the filename is respected; thus files that
143
       come from MS-DOS PKZIP are always capitalized.  If the file was  zipped
144
       with  a  stored  directory  name, that is also displayed as part of the
145
       filename.
146
 
147
       The second and third fields indicate that the  file  was  zipped  under
148
       Unix  with version 1.9 of zip.  Since it comes from Unix, the file per-
149
       missions at the beginning of the line are printed in Unix format.   The
150
       uncompressed file-size (2802 in this example) is the fourth field.
151
 
152
       The fifth field consists of two characters, either of which may take on
153
       several values.  The first character may be either `t' or `b', indicat-
154
       ing  that zip believes the file to be text or binary, respectively; but
155
       if the file is encrypted, zipinfo notes this fact by  capitalizing  the
156
       character  (`T'  or  `B').   The second character may also take on four
157
       values, depending on whether there is an extended local  header  and/or
158
       an  ``extra  field''  associated  with  the  file  (fully  explained in
159
       PKWare's APPNOTE.TXT,  but  basically  analogous  to  pragmas  in  ANSI
160
       C--i.e.,  they  provide a standard way to include non-standard informa-
161
       tion in the archive).  If neither  exists,  the  character  will  be  a
162
       hyphen  (`-'); if there is an extended local header but no extra field,
163
       `l'; if the reverse, `x'; and if both exist, `X'.   Thus  the  file  in
164
       this  example is (probably) a text file, is not encrypted, and has nei-
165
       ther an extra field nor an extended local header  associated  with  it.
166
       The  example below, on the other hand, is an encrypted binary file with
167
       an extra field:
168
 
169
  RWD,R,R     0.9 vms     168 Bx shrk  9-Aug-91 19:15 perms.0644
170
 
171
       Extra fields are used for various purposes (see discussion  of  the  -v
172
       option  below)  including  the storage of VMS file attributes, which is
173
       presumably the case here.  Note that the file attributes are listed  in
174
       VMS  format.   Some  other  possibilities for the host operating system
175
       (which is actually  a  misnomer--host  file  system  is  more  correct)
176
       include  OS/2  or  NT with High Performance File System (HPFS), MS-DOS,
177
       OS/2 or NT with File Allocation Table (FAT) file system, and Macintosh.
178
       These are denoted as follows:
179
 
180
  -rw-a--     1.0 hpf    5358 Tl i4:3  4-Dec-91 11:33 longfilename.hpfs
181
  -r--ahs     1.1 fat    4096 b- i4:2 14-Jul-91 12:58 EA DATA. SF
182
  --w-------  1.0 mac   17357 bx i8:2  4-May-92 04:02 unzip.macr
183
 
184
       File  attributes  in  the  first two cases are indicated in a Unix-like
185
       format, where the seven subfields indicate whether the file:  (1) is  a
186
       directory,  (2) is readable (always true), (3) is writable, (4) is exe-
187
       cutable (guessed on the basis of the extension--.exe, .com, .bat,  .cmd
188
       and  .btm files are assumed to be so), (5) has its archive bit set, (6)
189
       is hidden, and (7) is a system file.  Interpretation of Macintosh  file
190
       attributes  is  unreliable because some Macintosh archivers don't store
191
       any attributes in the archive.
192
 
193
       Finally, the sixth field indicates the compression method and  possible
194
       sub-method  used.  There are six methods known at present:  storing (no
195
       compression), reducing, shrinking, imploding,  tokenizing  (never  pub-
196
       licly  released), and deflating.  In addition, there are four levels of
197
       reducing (1 through 4); four types of imploding (4K or 8K sliding  dic-
198
       tionary,  and  2 or 3 Shannon-Fano trees); and four levels of deflating
199
       (superfast, fast, normal,  maximum  compression).   zipinfo  represents
200
       these  methods  and  their  sub-methods  as follows:  stor; re:1, re:2,
201
       etc.; shrk; i4:2, i8:3, etc.; tokn; and defS, defF, defN, and defX.
202
 
203
       The medium and long listings are almost identical to the  short  format
204
       except that they add information on the file's compression.  The medium
205
       format lists the file's compression factor as a  percentage  indicating
206
       the amount of space that has been ``removed'':
207
 
208
  -rw-rws---  1.5 unx    2802 t- 81% defX 11-Aug-91 13:48 perms.2660
209
 
210
       In  this example, the file has been compressed by more than a factor of
211
       five; the compressed data are only 19% of the original size.  The  long
212
       format gives the compressed file's size in bytes, instead:
213
 
214
  -rw-rws---  1.5 unx    2802 t-     538 defX 11-Aug-91 13:48 perms.2660
215
 
216
       In  contrast to the unzip listings, the compressed size figures in this
217
       listing format denote the complete size of compressed  data,  including
218
       the 12 extra header bytes in case of encrypted entries.
219
 
220
       Adding the -T option changes the file date and time to decimal format:
221
 
222
  -rw-rws---  1.5 unx    2802 t-     538 defX 910811.134804 perms.2660
223
 
224
       Note  that  because  of  limitations in the MS-DOS format used to store
225
       file times, the seconds field is always rounded  to  the  nearest  even
226
       second.   For  Unix  files this is expected to change in the next major
227
       releases of zip(1L) and unzip.
228
 
229
       In addition to individual file information, a default  zipfile  listing
230
       also includes header and trailer lines:
231
 
232
  Archive:  OS2.zip   5453 bytes   5 files
233
  ,,rw,       1.0 hpf     730 b- i4:3 26-Jun-92 23:40 Contents
234
  ,,rw,       1.0 hpf    3710 b- i4:3 26-Jun-92 23:33 makefile.os2
235
  ,,rw,       1.0 hpf    8753 b- i8:3 26-Jun-92 15:29 os2unzip.c
236
  ,,rw,       1.0 hpf      98 b- stor 21-Aug-91 15:34 unzip.def
237
  ,,rw,       1.0 hpf      95 b- stor 21-Aug-91 17:51 zipinfo.def
238
  5 files, 13386 bytes uncompressed, 4951 bytes compressed:  63.0%
239
 
240
       The  header line gives the name of the archive, its total size, and the
241
       total number of files; the trailer gives the number  of  files  listed,
242
       their  total  uncompressed  size,  and their total compressed size (not
243
       including any of zip's internal overhead).  If, however,  one  or  more
244
       file(s)  are  provided,  the  header  and trailer lines are not listed.
245
       This behavior is also similar to that of Unix's ``ls -l'';  it  may  be
246
       overridden  by  specifying the -h and -t options explicitly.  In such a
247
       case the listing format must also be specified explicitly, since -h  or
248
       -t  (or  both)  in  the  absence of other options implies that ONLY the
249
       header or trailer line (or both) is listed.  See the  EXAMPLES  section
250
       below for a semi-intelligible translation of this nonsense.
251
 
252
       The  verbose  listing  is  mostly self-explanatory.  It also lists file
253
       comments and the zipfile comment, if any, and the type  and  number  of
254
       bytes  in  any  stored  extra  fields.   Currently known types of extra
255
       fields include PKWARE's authentication  (``AV'')  info;  OS/2  extended
256
       attributes;  VMS  filesystem  info,  both PKWARE and Info-ZIP versions;
257
       Macintosh resource forks; Acorn/Archimedes SparkFS  info;  and  so  on.
258
       (Note  that  in  the case of OS/2 extended attributes--perhaps the most
259
       common use of zipfile extra fields--the  size  of  the  stored  EAs  as
260
       reported  by  zipinfo may not match the number given by OS/2's dir com-
261
       mand: OS/2 always reports the number of bytes required in  16-bit  for-
262
       mat, whereas zipinfo always reports the 32-bit storage.)
263
 
264
       Again,  the  compressed  size figures of the individual entries include
265
       the 12 extra header bytes for  encrypted  entries.   In  contrast,  the
266
       archive  total  compressed size and the average compression ratio shown
267
       in the summary bottom line are calculated without the extra  12  header
268
       bytes of encrypted entries.
269
 
270
ENVIRONMENT OPTIONS
271
       Modifying  zipinfo's default behavior via options placed in an environ-
272
       ment variable can be a bit complicated to  explain,  due  to  zipinfo's
273
       attempts  to  handle  various  defaults in an intuitive, yet Unix-like,
274
       manner.  (Try not to laugh.)  Nevertheless, there  is  some  underlying
275
       logic.   In brief, there are three ``priority levels'' of options:  the
276
       default options; environment options, which can override or add to  the
277
       defaults; and explicit options given by the user, which can override or
278
       add to either of the above.
279
 
280
       The default listing format, as noted above, corresponds roughly to  the
281
       "zipinfo  -hst"  command  (except  when  individual zipfile members are
282
       specified).  A user who prefers the long-listing format (-l)  can  make
283
       use of the zipinfo's environment variable to change this default:
284
 
285
       Unix Bourne shell:
286
              ZIPINFO=-l; export ZIPINFO
287
 
288
       Unix C shell:
289
              setenv ZIPINFO -l
290
 
291
       OS/2 or MS-DOS:
292
              set ZIPINFO=-l
293
 
294
       VMS (quotes for lowercase):
295
              define ZIPINFO_OPTS "-l"
296
 
297
       If,  in addition, the user dislikes the trailer line, zipinfo's concept
298
       of ``negative options'' may be used to override the  default  inclusion
299
       of  the  line.   This is accomplished by preceding the undesired option
300
       with one or more minuses:  e.g., ``-l-t'' or ``--tl'', in this example.
301
       The  first  hyphen  is the regular switch character, but the one before
302
       the `t' is a minus sign.  The dual use of hyphens  may  seem  a  little
303
       awkward,  but it's reasonably intuitive nonetheless:  simply ignore the
304
       first hyphen and go from there.  It is also consistent with the  behav-
305
       ior of the Unix command nice(1).
306
 
307
       As suggested above, the default variable names are ZIPINFO_OPTS for VMS
308
       (where the symbol used to install zipinfo as a  foreign  command  would
309
       otherwise  be  confused with the environment variable), and ZIPINFO for
310
       all other operating systems.  For compatibility  with  zip(1L),  ZIPIN-
311
       FOOPT is also accepted (don't ask).  If both ZIPINFO and ZIPINFOOPT are
312
       defined, however, ZIPINFO takes precedence.  unzip's diagnostic  option
313
       (-v  with  no zipfile name) can be used to check the values of all four
314
       possible unzip and zipinfo environment variables.
315
 
316
EXAMPLES
317
       To get a basic, short-format listing of the complete contents of a  ZIP
318
       archive  storage.zip,  with  both header and totals lines, use only the
319
       archive name as an argument to zipinfo:
320
 
321
           zipinfo storage
322
 
323
       To produce a basic, long-format listing (not verbose), including header
324
       and totals lines, use -l:
325
 
326
           zipinfo -l storage
327
 
328
       To  list the complete contents of the archive without header and totals
329
       lines, either negate the -h and -t options or else specify the contents
330
       explicitly:
331
 
332
           zipinfo --h-t storage
333
           zipinfo storage \*
334
 
335
       (where  the  backslash  is  required  only if the shell would otherwise
336
       expand the `*' wildcard, as in Unix when globbing is turned  on--double
337
       quotes around the asterisk would have worked as well).  To turn off the
338
       totals line by default,  use  the  environment  variable  (C  shell  is
339
       assumed here):
340
 
341
           setenv ZIPINFO --t
342
           zipinfo storage
343
 
344
       To get the full, short-format listing of the first example again, given
345
       that the environment variable is set as in the previous example, it  is
346
       necessary  to  specify the -s option explicitly, since the -t option by
347
       itself implies that ONLY the footer line is to be printed:
348
 
349
           setenv ZIPINFO --t
350
           zipinfo -t storage            [only totals line]
351
           zipinfo -st storage           [full listing]
352
 
353
       The -s option, like -m and -l, includes headers and footers by default,
354
       unless  otherwise  specified.  Since the environment variable specified
355
       no footers and that has a higher precedence than the  default  behavior
356
       of -s, an explicit -t option was necessary to produce the full listing.
357
       Nothing was indicated about the header, however, so the -s  option  was
358
       sufficient.   Note  that both the -h and -t options, when used by them-
359
       selves or with each other,  override  any  default  listing  of  member
360
       files;  only  the  header  and/or footer are printed.  This behavior is
361
       useful when zipinfo is used with a wildcard zipfile specification;  the
362
       contents of all zipfiles are then summarized with a single command.
363
 
364
       To list information on a single file within the archive, in medium for-
365
       mat, specify the filename explicitly:
366
 
367
           zipinfo -m storage unshrink.c
368
 
369
       The specification of any member file, as in this example, will override
370
       the  default  header and totals lines; only the single line of informa-
371
       tion about the requested file will be  printed.   This  is  intuitively
372
       what  one would expect when requesting information about a single file.
373
       For multiple files, it is often useful to know the total compressed and
374
       uncompressed size; in such cases -t may be specified explicitly:
375
 
376
           zipinfo -mt storage "*.[ch]" Mak\*
377
 
378
       To  get  maximal  information  about  the  ZIP archive, use the verbose
379
       option.  It is usually wise to pipe the output into a  filter  such  as
380
       Unix more(1) if the operating system allows it:
381
 
382
           zipinfo -v storage | more
383
 
384
       Finally,  to  see  the most recently modified files in the archive, use
385
       the -T option in conjunction with an external sorting utility  such  as
386
       Unix sort(1) (and sed(1) as well, in this example):
387
 
388
           zipinfo -T storage | sort -nr -k 7 | sed 15q
389
 
390
       The -nr option to sort(1) tells it to sort numerically in reverse order
391
       rather than in textual order, and the -k 7 option tells it to  sort  on
392
       the  seventh  field.  This assumes the default short-listing format; if
393
       -m or -l is used, the proper sort(1) option would be -k 8.  Older  ver-
394
       sions  of  sort(1)  do  not  support the -k option, but you can use the
395
       traditional + option instead, e.g., +6 instead  of  -k 7.   The  sed(1)
396
       command  filters out all but the first 15 lines of the listing.  Future
397
       releases of zipinfo may incorporate date/time and filename  sorting  as
398
       built-in options.
399
 
400
TIPS
401
       The  author  finds  it  convenient to define an alias ii for zipinfo on
402
       systems that allow aliases (or, on other systems, copy/rename the  exe-
403
       cutable, create a link or create a command file with the name ii).  The
404
       ii usage parallels the common ll alias for long listings in  Unix,  and
405
       the similarity between the outputs of the two commands was intentional.
406
 
407
BUGS
408
       As with unzip, zipinfo's -M (``more'') option is overly  simplistic  in
409
       its  handling  of screen output; as noted above, it fails to detect the
410
       wrapping of long lines and may thereby cause lines at the  top  of  the
411
       screen to be scrolled off before being read.  zipinfo should detect and
412
       treat each occurrence of line-wrap  as  one  additional  line  printed.
413
       This  requires  knowledge  of the screen's width as well as its height.
414
       In addition, zipinfo should detect the true screen geometry on all sys-
415
       tems.
416
 
417
       zipinfo's  listing-format  behavior is unnecessarily complex and should
418
       be simplified.  (This is not to say that it will be.)
419
 
420
SEE ALSO
421
       ls(1), funzip(1L), unzip(1L), unzipsfx(1L), zip(1L), zipcloak(1L), zip-
422
       note(1L), zipsplit(1L)
423
 
424
URL
425
       The Info-ZIP home page is currently at
426
           http://www.info-zip.org/pub/infozip/
427
       or
428
           ftp://ftp.info-zip.org/pub/infozip/ .
429
 
430
AUTHOR
431
       Greg  ``Cave Newt'' Roelofs.  ZipInfo contains pattern-matching code by
432
       Mark Adler and fixes/improvements by many others.  Please refer to  the
433
       CONTRIBS  file  in  the  UnZip  source distribution for a more complete
434
       list.
435
 
436
Info-ZIP                     20 April 2009 (v3.0)                  ZIPINFO(1L)