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

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

unix.superglobalmegacorp.com

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