Annotation of coherent/b/bin/unzip/zipinfo.doc, revision 1.1.1.1

1.1       root        1: 
                      2: ZIPINFO(1)               USER COMMANDS                 ZIPINFO(1)
                      3: 
                      4: NAME
                      5:      zipinfo - list detailed information about a ZIP archive file
                      6: 
                      7: SYNOPSIS
                      8:      zipinfo [-1smlvht] file[.zip] [filespec ...]
                      9: 
                     10: ARGUMENTS
                     11:      file[.zip]  Path of the ZIP archive.  The suffix ``.zip'' is
                     12:                  applied  if  the  file specified does not exist.
                     13:                  Note that self-extracting  ZIP  files  are  sup-
                     14:                  ported;  just  specify the ``.exe'' suffix your-
                     15:                  self.
                     16: 
                     17:      [filespec]  An optional list of archive members to  be  pro-
                     18:                  cessed.  Expressions may be used to match multi-
                     19:                  ple members; be sure to quote  expressions  that
                     20:                  contain   characters  interpreted  by  the  Unix
                     21:                  shell. See PATTERN  MATCHING  (below)  for  more
                     22:                  details.
                     23: 
                     24: OPTIONS
                     25:      -1  list filenames only, one per line (useful for pipes)
                     26:      -s  list zipfile  info  in  short  Unix  ``ls  -l''  format:
                     27:          default
                     28:      -m  list zipfile info in medium Unix ``ls -l'' format
                     29:      -l  list zipfile info in long Unix ``ls -l'' format
                     30:      -v  list zipfile information in verbose, multi-page format
                     31:      -h  list header line
                     32:      -t  list totals for files listed or for all files
                     33: 
                     34: PATTERN MATCHING
                     35:      All archive members are listed unless a filespec is provided
                     36:      to specify a subset of the archive members.  The filespec is
                     37:      similar to an egrep expression, and may contain:
                     38: 
                     39:      *      matches a sequence of 0 or more characters
                     40:      ?      matches exactly 1 character
                     41:      \nnn   matches the character having octal code nnn
                     42:      [...]  matches any single character found inside the  brack-
                     43:             ets; ranges are specified by a beginning character, a
                     44:             hyphen, and an ending character.  If  an  exclamation
                     45:             point  or  a  carat  (`!'  or  `^')  follows the left
                     46:             bracket, then the range of characters matched is com-
                     47:             plemented  with  respect  to  the ASCII character set
                     48:             (that is, anything except the characters  inside  the
                     49:             brackets is considered a match).
                     50: 
                     51: DESCRIPTION
                     52:      ZipInfo lists technical information  about  a  ZIP  archive,
                     53:      including  information  file  access permissions, encryption
                     54:      status, type of compression, version and operating system of
                     55:      compressing program, and the like.  The default option is to
                     56: 
                     57: Info-ZIP          Last change: 19 Aug 92 (v1.0)                 1
                     58: 
                     59: ZIPINFO(1)               USER COMMANDS                 ZIPINFO(1)
                     60: 
                     61:      list files in the following format:
                     62: 
                     63: -rw-rwl---  1.5 unx    2802 t- defX 11-Aug-91 13:48 perms.2660
                     64: 
                     65:      The last three fields are clearly the modification date  and
                     66:      time of the file, and its name.  The case of the filename is
                     67:      respected; thus files  which  come  from  MS-DOS  PKZIP  are
                     68:      always  capitalized.   If  the file was zipped with a stored
                     69:      directory name, that  is  also  displayed  as  part  of  the
                     70:      filename.
                     71: 
                     72:      The second and third  fields  indicate  that  the  file  was
                     73:      zipped  under Unix with version 1.5 of Zip (a beta version).
                     74:      Since it comes from Unix, the file permissions at the begin-
                     75:      ning   of   the  line  are  printed  in  Unix  format.   The
                     76:      uncompressed file-size (2802 in this example) is the  fourth
                     77:      field.
                     78: 
                     79:      The fifth field consists of two characters, either of  which
                     80:      may  take  on  several  values.   The first character may be
                     81:      either `t' or `b', indicating that Zip believes the file  to
                     82:      be  text  or  binary,  respectively;  but  if  the  file  is
                     83:      encrypted, ZipInfo notes this fact by capitalizing the char-
                     84:      acter  (`T'  or `B').  The second character may also take on
                     85:      four values, depending on whether there is an extended local
                     86:      header  and/or  an  ``extra field'' associated with the file
                     87:      (explained in PKWare's APPNOTE.TXT).  If neither exists, the
                     88:      character  will  be  a hyphen (`-'); if there is an extended
                     89:      local header but no extra field, `l'; if the  reverse,  `x';
                     90:      and  if  both  exist, `X'.  Thus the file in this example is
                     91:      (apparently) a text file, is not encrypted, and has  neither
                     92:      an  extra field nor an extended local header associated with
                     93:      it.  The example below, on the other hand, is  an  encrypted
                     94:      binary file with an extra field:
                     95: 
                     96: RWD,R,R     0.9 vms     168 Bx shrk  9-Aug-91 19:15 perms.0644
                     97: 
                     98:      Extra fields are used by PKWare for  authenticity  verifica-
                     99:      tion(?)  and  possibly other purposes, and by Info-ZIP's Zip
                    100:      1.6 and later to store OS/2, Macintosh and VMS  file  attri-
                    101:      butes.  This example presumably falls into the latter class,
                    102:      then.  Note that the file attributes are listed in VMS  for-
                    103:      mat.   Other  possibilities  for  the  host operating system
                    104:      include OS/2 with High Performance File System  (HPFS),  DOS
                    105:      or  OS/2  with  File Allocation Table (FAT) file system, and
                    106:      Macintosh, denoted as follows:
                    107: 
                    108: arc,,rw,    1.0 os2    5358 Tl i4:3  4-Dec-91 11:33 longfilename.hpfs
                    109: arc,hid,rdo,sys dos    4096 b- i4:2 14-Jul-91 12:58 EA DATA. SF
                    110: --w-------  1.0 mac   17357 bx i8:2  4-May-92 04:02 unzip.macr
                    111: 
                    112: Info-ZIP          Last change: 19 Aug 92 (v1.0)                 2
                    113: 
                    114: ZIPINFO(1)               USER COMMANDS                 ZIPINFO(1)
                    115: 
                    116:      File attributes in the first two cases are  indicated  in  a
                    117:      DOS-like  format,  where  the  file  may or may not have its
                    118:      archive bit set; may be hidden or not; may be read-write  or
                    119:      read-only;  and  may be a system file or not.  If the attri-
                    120:      butes are too long,  the  version  number  of  the  encoding
                    121:      software is omitted.  (The information is still available in
                    122:      the verbose listing, however.)  Interpretation of  Macintosh
                    123:      file attributes needs some work yet.
                    124: 
                    125:      Finally, the sixth field indicates  the  compression  method
                    126:      and  possible  sub-method used.  There are six methods known
                    127:      at present:  storing (no compression), reducing,  shrinking,
                    128:      imploding,  tokenizing,  and  deflating.  In addition, there
                    129:      are four levels of reducing (1 through  4);  four  types  of
                    130:      imploding  (4K or 8K sliding dictionary, and 2 or 3 Shannon-
                    131:      Fano trees); and three levels of  deflating  (fast,  normal,
                    132:      maximum  compression).  ZipInfo represents these methods and
                    133:      their sub-methods as follows:  ``stor''; ``re:1,'' ``re:2,''
                    134:      etc.;  ``shrk'';  ``i4:2,''  ``i8:3,''  etc.;  ``tokn''; and
                    135:      ``defF,'' ``defN,'' and ``defX.''
                    136: 
                    137:      The medium and long listings are  almost  identical  to  the
                    138:      short  format except that they add information on the file's
                    139:      compression.   The  medium  format  indicates   the   file's
                    140:      compression factor as a percentage:
                    141: 
                    142: -rw-rwl---  1.5 unx    2802 t- 81% defX 11-Aug-91 13:48 perms.2660
                    143: 
                    144:      In this example, the file has been compressed by more than a
                    145:      factor of five; the compressed data are only 19% of the ori-
                    146:      ginal size.  The long format  gives  the  compressed  file's
                    147:      size in bytes, instead:
                    148: 
                    149: -rw-rwl---  1.5 unx    2802 t-     538 defX 11-Aug-91 13:48 perms.2660
                    150: 
                    151:      In addition to individual file information, a  default  zip-
                    152:      file listing also includes header and trailer lines:
                    153: 
                    154: Archive:  OS2.zip   5453 bytes   5 files
                    155: ,,rw,       1.0 os2     730 b- i4:3 26-Jun-92 23:40 Contents
                    156: ,,rw,       1.0 os2    3710 b- i4:3 26-Jun-92 23:33 makefile.os2
                    157: ,,rw,       1.0 os2    8753 b- i8:3 26-Jun-92 15:29 os2unzip.c
                    158: ,,rw,       1.0 os2      98 b- stor 21-Aug-91 15:34 unzip.def
                    159: ,,rw,       1.0 os2      95 b- stor 21-Aug-91 17:51 zipinfo.def
                    160: 5 files, 13386 bytes uncompressed, 4951 bytes compressed:  63%
                    161: 
                    162:      The header line gives the name of  the  archive,  its  total
                    163:      size,  and  the total number of files; the trailer gives the
                    164:      number of files listed, their total uncompressed  size,  and
                    165:      their  total  compressed  size  (not  including any of Zip's
                    166:      internal overhead).  If, however, one or more filespecs  are
                    167:      provided, the header and trailer lines are not listed.  This
                    168: 
                    169: Info-ZIP          Last change: 19 Aug 92 (v1.0)                 3
                    170: 
                    171: ZIPINFO(1)               USER COMMANDS                 ZIPINFO(1)
                    172: 
                    173:      behavior is also similar to that of Unix's ``ls -l''; it may
                    174:      be  overridden  by  specifying  the -h and -t options expli-
                    175:      citly.  In such a case  the  listing  format  must  also  be
                    176:      specified  explicitly,  since  -h  or  -t  (or  both) in the
                    177:      absence of other options implies that  ONLY  the  header  or
                    178:      trailer  line (or both) is listed.  See the EXAMPLES section
                    179:      below for a semi-intelligible translation of this nonsense.
                    180: 
                    181:      The verbose listing is self-explanatory.  It also lists file
                    182:      comments  and the zipfile comment, if any, and the number of
                    183:      bytes of OS/2 extended attributes  stored.   Note  that  the
                    184:      latter  number will in general NOT match the number given by
                    185:      OS/2's ``dir'' command; OS/2 always reports  the  number  of
                    186:      bytes  required  in  16-bit  format,  whereas ZipInfo always
                    187:      reports the 32-bit storage.
                    188: 
                    189: ENVIRONMENT OPTIONS
                    190:      Modifying ZipInfo's default behavior via options  placed  in
                    191:      an environment variable can be a bit complicated to explain,
                    192:      due to ZipInfo's attempts to handle various defaults  in  an
                    193:      intuitive,  yet  Unix-like,  manner.  Nevertheless, there is
                    194:      some underlying logic.  In brief, there are three ``priority
                    195:      levels''  of  options:   the  default  options;  environment
                    196:      options, which can override or  add  to  the  defaults;  and
                    197:      explicit  options  given  by the user, which can override or
                    198:      add to either of the above.
                    199: 
                    200:      The default listing  format,  as  noted  above,  corresponds
                    201:      roughly  to  the "zipinfo -hst" command (except when indivi-
                    202:      dual zipfile members are specified).  A user who prefers the
                    203:      long-listing  format  (-l)  can  make  use  of  the  ZIPINFO
                    204:      environment variable to change this default:
                    205: 
                    206:            setenv ZIPINFO -l            Unix C shell
                    207: 
                    208:            ZIPINFO=-l; export ZIPINFO   Unix Bourne shell
                    209: 
                    210:            set ZIPINFO=-l               OS/2 or MS-DOS
                    211: 
                    212:            define ZIPINFO_OPTS "-l"     VMS (quotes for LOWERCASE)
                    213: 
                    214:      If,  in  addition,  the  user  dislikes  the  trailer  line,
                    215:      ZipInfo's concept of ``negative options''  may  be  used  to
                    216:      override  the default inclusion of the line.  This is accom-
                    217:      plished by preceding the undesired option with one  or  more
                    218:      minuses:   e.g., ``-l-t'' or ``--tl'', in this example.  The
                    219:      first hyphen is the regular switch character,  but  the  one
                    220:      before the `t' is a minus sign.  The dual use of hyphens may
                    221:      seem  a  little  awkward,  but  it's  reasonably   intuitive
                    222:      nonetheless:   simply  ignore  the  first hyphen and go from
                    223:      there.  It is also consistent with the behavior of the  Unix
                    224:      command nice(1).
                    225: 
                    226: Info-ZIP          Last change: 19 Aug 92 (v1.0)                 4
                    227: 
                    228: ZIPINFO(1)               USER COMMANDS                 ZIPINFO(1)
                    229: 
                    230: EXAMPLES
                    231:      To get a basic, short-format listing of  the  complete  con-
                    232:      tents of a ZIP archive ``storage.zip,'' with both header and
                    233:      totals lines, use only the archive name as  an  argument  to
                    234:      zipinfo:
                    235: 
                    236:            zipinfo storage
                    237: 
                    238:      To produce  a  basic,  long-format  listing  (not  verbose),
                    239:      including header and totals lines, use -l:
                    240: 
                    241:            zipinfo -l storage
                    242: 
                    243:      To list the complete contents of the archive without  header
                    244:      and  totals  lines,  either  negate the -h and -t options or
                    245:      else specify the contents explicitly:
                    246: 
                    247:            zipinfo --h-t storage
                    248: 
                    249:            zipinfo storage \*
                    250: 
                    251:      (where the backslash is required only  if  the  shell  would
                    252:      otherwise  expand the `*' wildcard, as in Unix when globbing
                    253:      is turned on--double quotes around the asterisk  would  have
                    254:      worked  as  well).   To turn off the totals line by default,
                    255:      use the environment variable (C shell is assumed here):
                    256: 
                    257:            setenv ZIPINFO --t
                    258: 
                    259:            zipinfo storage
                    260: 
                    261:      To get the full, short-format listing of the  first  example
                    262:      again,  given that the environment variable is set as in the
                    263:      previous example, it is necessary to specify the  -s  option
                    264:      explicitly,  since the -t option by itself implies that ONLY
                    265:      the footer line is to be printed:
                    266: 
                    267:            setenv ZIPINFO --t
                    268: 
                    269:            zipinfo -t storage           [only totals line]
                    270: 
                    271:            zipinfo -st storage          [full listing]
                    272: 
                    273:      The -s option, like -m and -l, includes headers and  footers
                    274:      by  default, unless otherwise specified.  Since the environ-
                    275:      ment variable specified no footers and  that  has  a  higher
                    276:      precedence  than  the default behavior of -s, an explicit -t
                    277:      option was necessary to produce the full  listing.   Nothing
                    278:      was  indicated  about  the header, however, so the -s option
                    279:      was sufficient.  Note that both the -h and -t options,  when
                    280:      used  by themselves or with each other, override any default
                    281:      listing of member files; only the header and/or  footer  are
                    282: 
                    283: Info-ZIP          Last change: 19 Aug 92 (v1.0)                 5
                    284: 
                    285: ZIPINFO(1)               USER COMMANDS                 ZIPINFO(1)
                    286: 
                    287:      printed.   This  behavior  will  be more useful when ZipInfo
                    288:      accepts wildcards for the zipfile name; one may then summar-
                    289:      ize the contents of all zipfiles with a single command.
                    290: 
                    291:      To list information on a single file within the archive,  in
                    292:      medium format, specify the filename explicitly:
                    293: 
                    294:            zipinfo -m storage unshrink.c
                    295: 
                    296:      The specification of any member file, as  in  this  example,
                    297:      will  override the default header and totals lines; only the
                    298:      single line of information about the requested file will  be
                    299:      printed.   This  is  intuitively  what one would expect when
                    300:      requesting information about a single  file.   For  multiple
                    301:      files,  it  is often useful to know the total compressed and
                    302:      uncompressed size; in such cases -t may be specified  expli-
                    303:      citly:
                    304: 
                    305:            zipinfo -mt storage "*.[ch] Mak\*
                    306: 
                    307:      Finally, to get maximal information about the  ZIP  archive,
                    308:      use the verbose option.  It is usually wise to pipe the out-
                    309:      put into a filter such as more(1):
                    310: 
                    311:            zipinfo -v storage | more
                    312: 
                    313: TIPS
                    314:      The author finds it convenient to set up an alias ``ii'' for
                    315:      ZipInfo  on systems which allow aliases, or else to set up a
                    316:      batch  file  ``ii.bat''  or  to  rename  the  executable  to
                    317:      ``ii.exe'' on systems such as MS-DOS which have no provision
                    318:      for aliases.  The ``ii'' usage parallels the  common  ``ll''
                    319:      alias  for long listings in Unix, and the similarity between
                    320:      the outputs of the two commands was intentional.
                    321: 
                    322: SEE ALSO
                    323:      funzip(1),  unzip(1),   zip(1),   zipcloak(1),   zipnote(1),
                    324:      zipsplit(1)
                    325: 
                    326: AUTHOR
                    327:      Greg Roelofs (also known as Cave Newt).  ZipInfo  is  partly
                    328:      based  on  S. H. Smith's unzip and contains pattern-matching
                    329:      code by  J.  Kercheval,  but  mostly  it  was  written  from
                    330:      scratch.  The OS/2 extra-field code is by Kai Uwe Rommel.
                    331: 
                    332: Info-ZIP          Last change: 19 Aug 92 (v1.0)                 6
                    333: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.