zipinfo.doc
上传用户:andy_li
上传日期:2007-01-06
资源大小:1019k
文件大小:23k
源码类别:

压缩解压

开发平台:

MultiPlatform

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