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

压缩解压

开发平台:

MultiPlatform

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