|
|
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:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.