zipinfo.doc
资源名称:unzip540.zip [点击查看]
上传用户:andy_li
上传日期:2007-01-06
资源大小:1019k
文件大小:23k
源码类别:
压缩解压
开发平台:
MultiPlatform
- ZIPINFO(1L) ZIPINFO(1L)
- NAME
- zipinfo - list detailed information about a ZIP archive
- SYNOPSIS
- zipinfo [-12smlvhMtTz] file[.zip] [file(s) ...]
- [-x xfile(s) ...]
- unzip -Z [-12smlvhMtTz] file[.zip] [file(s) ...]
- [-x xfile(s) ...]
- DESCRIPTION
- zipinfo lists technical information about files in a ZIP
- archive, most commonly found on MS-DOS systems. Such
- information includes file access permissions, encryption
- status, type of compression, version and operating system
- or file system of compressing program, and the like. The
- default behavior (with no options) is to list single-line
- entries for each file in the archive, with header and
- trailer lines providing summary information for the entire
- archive. The format is a cross between Unix ``ls -l'' and
- ``unzip -v'' output. See DETAILED DESCRIPTION below.
- Note that zipinfo is the same program as unzip (under
- Unix, a link to it); on some systems, however, zipinfo
- support may have been omitted when unzip was compiled.
- ARGUMENTS
- file[.zip]
- Path of the ZIP archive(s). If the file specifica-
- tion is a wildcard, each matching file is processed
- in an order determined by the operating system (or
- file system). Only the filename can be a wildcard;
- the path itself cannot. Wildcard expressions are
- similar to Unix egrep(1) (regular) expressions and
- may contain:
- * matches a sequence of 0 or more characters
- ? matches exactly 1 character
- [...] matches any single character found inside
- the brackets; ranges are specified by a
- beginning character, a hyphen, and an ending
- character. If an exclamation point or a
- caret (`!' or `^') follows the left bracket,
- then the range of characters within the
- brackets is complemented (that is, anything
- except the characters inside the brackets is
- considered a match).
- (Be sure to quote any character that might other-
- wise be interpreted or modified by the operating
- system, particularly under Unix and VMS.) If no
- matches are found, the specification is assumed to
- be a literal filename; and if that also fails, the
- Info-ZIP 28 November 1998 (v2.3) 1
- ZIPINFO(1L) ZIPINFO(1L)
- suffix .zip is appended. Note that self-extracting
- ZIP files are supported; just specify the .exe suf-
- fix (if any) explicitly.
- [file(s)]
- An optional list of archive members to be pro-
- cessed. Regular expressions (wildcards) may be
- used to match multiple members; see above. Again,
- be sure to quote expressions that would otherwise
- be expanded or modified by the operating system.
- [-x xfile(s)]
- An optional list of archive members to be excluded
- from processing.
- OPTIONS
- -1 list filenames only, one per line. This option
- excludes all others; headers, trailers and zipfile
- comments are never printed. It is intended for use
- in Unix shell scripts.
- -2 list filenames only, one per line, but allow head-
- ers (-h), trailers (-t) and zipfile comments (-z),
- as well. This option may be useful in cases where
- the stored filenames are particularly long.
- -s list zipfile info in short Unix ``ls -l'' format.
- This is the default behavior; see below.
- -m list zipfile info in medium Unix ``ls -l'' format.
- Identical to the -s output, except that the com-
- pression factor, expressed as a percentage, is also
- listed.
- -l list zipfile info in long Unix ``ls -l'' format.
- As with -m except that the compressed size (in
- bytes) is printed instead of the compression ratio.
- -v list zipfile information in verbose, multi-page
- format.
- -h list header line. The archive name, actual size
- (in bytes) and total number of files is printed.
- -M pipe all output through an internal pager similar
- to the Unix more(1) command. At the end of a
- screenful of output, zipinfo pauses with a
- ``--More--'' prompt; the next screenful may be
- viewed by pressing the Enter (Return) key or the
- space bar. zipinfo can be terminated by pressing
- the ``q'' key and, on some systems, the
- Enter/Return key. Unlike Unix more(1), there is no
- forward-searching or editing capability. Also,
- zipinfo doesn't notice if long lines wrap at the
- Info-ZIP 28 November 1998 (v2.3) 2
- ZIPINFO(1L) ZIPINFO(1L)
- edge of the screen, effectively resulting in the
- printing of two or more lines and the likelihood
- that some text will scroll off the top of the
- screen before being viewed. On some systems the
- number of available lines on the screen is not
- detected, in which case zipinfo assumes the height
- is 24 lines.
- -t list totals for files listed or for all files. The
- number of files listed, their uncompressed and com-
- pressed total sizes, and their overall compression
- factor is printed; or, if only the totals line is
- being printed, the values for the entire archive
- are given. Note that the total compressed (data)
- size will never match the actual zipfile size,
- since the latter includes all of the internal zip-
- file headers in addition to the compressed data.
- -T print the file dates and times in a sortable deci-
- mal format (yymmdd.hhmmss). The default date for-
- mat is a more standard, human-readable version with
- abbreviated month names (see examples below).
- -z include the archive comment (if any) in the list-
- ing.
- DETAILED DESCRIPTION
- zipinfo has a number of modes, and its behavior can be
- rather difficult to fathom if one isn't familiar with Unix
- ls(1) (or even if one is). The default behavior is to
- list files in the following format:
- -rw-rws--- 1.9 unx 2802 t- defX 11-Aug-91 13:48 perms.2660
- The last three fields are the modification date and time
- of the file, and its name. The case of the filename is
- respected; thus files that come from MS-DOS PKZIP are
- always capitalized. If the file was zipped with a stored
- directory name, that is also displayed as part of the
- filename.
- The second and third fields indicate that the file was
- zipped under Unix with version 1.9 of zip. Since it comes
- from Unix, the file permissions at the beginning of the
- line are printed in Unix format. The uncompressed file-
- size (2802 in this example) is the fourth field.
- The fifth field consists of two characters, either of
- which may take on several values. The first character may
- be either `t' or `b', indicating that zip believes the
- file to be text or binary, respectively; but if the file
- is encrypted, zipinfo notes this fact by capitalizing the
- character (`T' or `B'). The second character may also
- take on four values, depending on whether there is an
- Info-ZIP 28 November 1998 (v2.3) 3
- ZIPINFO(1L) ZIPINFO(1L)
- extended local header and/or an ``extra field'' associated
- with the file (fully explained in PKWare's APPNOTE.TXT,
- but basically analogous to pragmas in ANSI C--i.e., they
- provide a standard way to include non-standard information
- in the archive). If neither exists, the character will be
- a hyphen (`-'); if there is an extended local header but
- no extra field, `l'; if the reverse, `x'; and if both
- exist, `X'. Thus the file in this example is (probably) a
- text file, is not encrypted, and has neither an extra
- field nor an extended local header associated with it.
- The example below, on the other hand, is an encrypted
- binary file with an extra field:
- RWD,R,R 0.9 vms 168 Bx shrk 9-Aug-91 19:15 perms.0644
- Extra fields are used for various purposes (see discussion
- of the -v option below) including the storage of VMS file
- attributes, which is presumably the case here. Note that
- the file attributes are listed in VMS format. Some other
- possibilities for the host operating system (which is
- actually a misnomer--host file system is more correct)
- include OS/2 or NT with High Performance File System
- (HPFS), MS-DOS, OS/2 or NT with File Allocation Table
- (FAT) file system, and Macintosh. These are denoted as
- follows:
- -rw-a-- 1.0 hpf 5358 Tl i4:3 4-Dec-91 11:33 longfilename.hpfs
- -r--ahs 1.1 fat 4096 b- i4:2 14-Jul-91 12:58 EA DATA. SF
- --w------- 1.0 mac 17357 bx i8:2 4-May-92 04:02 unzip.macr
- File attributes in the first two cases are indicated in a
- Unix-like format, where the seven subfields indicate
- whether the file: (1) is a directory, (2) is readable
- (always true), (3) is writable, (4) is executable (guessed
- on the basis of the extension--.exe, .com, .bat, .cmd and
- .btm files are assumed to be so), (5) has its archive bit
- set, (6) is hidden, and (7) is a system file. Interpreta-
- tion of Macintosh file attributes is unreliable because
- some Macintosh archivers don't store any attributes in the
- archive.
- Finally, the sixth field indicates the compression method
- and possible sub-method used. There are six methods known
- at present: storing (no compression), reducing, shrink-
- ing, imploding, tokenizing (never publicly released), and
- deflating. In addition, there are four levels of reducing
- (1 through 4); four types of imploding (4K or 8K sliding
- dictionary, and 2 or 3 Shannon-Fano trees); and four lev-
- els of deflating (superfast, fast, normal, maximum com-
- pression). zipinfo represents these methods and their
- sub-methods as follows: stor; re:1, re:2, etc.; shrk;
- i4:2, i8:3, etc.; tokn; and defS, defF, defN, and defX.
- The medium and long listings are almost identical to the
- Info-ZIP 28 November 1998 (v2.3) 4
- ZIPINFO(1L) ZIPINFO(1L)
- short format except that they add information on the
- file's compression. The medium format lists the file's
- compression factor as a percentage indicating the amount
- of space that has been ``removed'':
- -rw-rws--- 1.5 unx 2802 t- 81% defX 11-Aug-91 13:48 perms.2660
- In this example, the file has been compressed by more than
- a factor of five; the compressed data are only 19% of the
- original size. The long format gives the compressed
- file's size in bytes, instead:
- -rw-rws--- 1.5 unx 2802 t- 538 defX 11-Aug-91 13:48 perms.2660
- Adding the -T option changes the file date and time to
- decimal format:
- -rw-rws--- 1.5 unx 2802 t- 538 defX 910811.134804 perms.2660
- Note that because of limitations in the MS-DOS format used
- to store file times, the seconds field is always rounded
- to the nearest even second. For Unix files this is
- expected to change in the next major releases of zip(1L)
- and unzip.
- In addition to individual file information, a default zip-
- file listing also includes header and trailer lines:
- Archive: OS2.zip 5453 bytes 5 files
- ,,rw, 1.0 hpf 730 b- i4:3 26-Jun-92 23:40 Contents
- ,,rw, 1.0 hpf 3710 b- i4:3 26-Jun-92 23:33 makefile.os2
- ,,rw, 1.0 hpf 8753 b- i8:3 26-Jun-92 15:29 os2unzip.c
- ,,rw, 1.0 hpf 98 b- stor 21-Aug-91 15:34 unzip.def
- ,,rw, 1.0 hpf 95 b- stor 21-Aug-91 17:51 zipinfo.def
- 5 files, 13386 bytes uncompressed, 4951 bytes compressed: 63.0%
- The header line gives the name of the archive, its total
- size, and the total number of files; the trailer gives the
- number of files listed, their total uncompressed size, and
- their total compressed size (not including any of zip's
- internal overhead). If, however, one or more file(s) are
- provided, the header and trailer lines are not listed.
- This behavior is also similar to that of Unix's ``ls -l'';
- it may be overridden by specifying the -h and -t options
- explicitly. In such a case the listing format must also
- be specified explicitly, since -h or -t (or both) in the
- absence of other options implies that ONLY the header or
- trailer line (or both) is listed. See the EXAMPLES sec-
- tion below for a semi-intelligible translation of this
- nonsense.
- The verbose listing is mostly self-explanatory. It also
- lists file comments and the zipfile comment, if any, and
- the type and number of bytes in any stored extra fields.
- Info-ZIP 28 November 1998 (v2.3) 5
- ZIPINFO(1L) ZIPINFO(1L)
- Currently known types of extra fields include PKWARE's
- authentication (``AV'') info; OS/2 extended attributes;
- VMS filesystem info, both PKWARE and Info-ZIP versions;
- Macintosh resource forks; Acorn/Archimedes SparkFS info;
- and so on. (Note that in the case of OS/2 extended
- attributes--perhaps the most common use of zipfile extra
- fields--the size of the stored EAs as reported by zipinfo
- may not match the number given by OS/2's dir command: OS/2
- always reports the number of bytes required in 16-bit for-
- mat, whereas zipinfo always reports the 32-bit storage.)
- ENVIRONMENT OPTIONS
- Modifying zipinfo's default behavior via options placed in
- an environment variable can be a bit complicated to
- explain, due to zipinfo's attempts to handle various
- defaults in an intuitive, yet Unix-like, manner. (Try not
- to laugh.) Nevertheless, there is some underlying logic.
- In brief, there are three ``priority levels'' of options:
- the default options; environment options, which can over-
- ride or add to the defaults; and explicit options given by
- the user, which can override or add to either of the
- above.
- The default listing format, as noted above, corresponds
- roughly to the "zipinfo -hst" command (except when indi-
- vidual zipfile members are specified). A user who prefers
- the long-listing format (-l) can make use of the zipinfo's
- environment variable to change this default:
- ZIPINFO=-l; export ZIPINFO Unix Bourne shell
- setenv ZIPINFO -l Unix C shell
- set ZIPINFO=-l OS/2 or MS-DOS
- define ZIPINFO_OPTS "-l" VMS (quotes for lowercase)
- If, in addition, the user dislikes the trailer line, zip-
- info's concept of ``negative options'' may be used to
- override the default inclusion of the line. This is
- accomplished by preceding the undesired option with one or
- more minuses: e.g., ``-l-t'' or ``--tl'', in this exam-
- ple. The first hyphen is the regular switch character,
- but the one before the `t' is a minus sign. The dual use
- of hyphens may seem a little awkward, but it's reasonably
- intuitive nonetheless: simply ignore the first hyphen and
- go from there. It is also consistent with the behavior of
- the Unix command nice(1).
- As suggested above, the default variable names are ZIP-
- INFO_OPTS for VMS (where the symbol used to install zip-
- info as a foreign command would otherwise be confused with
- the environment variable), and ZIPINFO for all other oper-
- ating systems. For compatibility with zip(1L), ZIPINFOOPT
- is also accepted (don't ask). If both ZIPINFO and ZIPIN-
- FOOPT are defined, however, ZIPINFO takes precedence.
- unzip's diagnostic option (-v with no zipfile name) can be
- Info-ZIP 28 November 1998 (v2.3) 6
- ZIPINFO(1L) ZIPINFO(1L)
- used to check the values of all four possible unzip and
- zipinfo environment variables.
- EXAMPLES
- To get a basic, short-format listing of the complete con-
- tents of a ZIP archive storage.zip, with both header and
- totals lines, use only the archive name as an argument to
- zipinfo:
- zipinfo storage
- To produce a basic, long-format listing (not verbose),
- including header and totals lines, use -l:
- zipinfo -l storage
- To list the complete contents of the archive without
- header and totals lines, either negate the -h and -t
- options or else specify the contents explicitly:
- zipinfo --h-t storage
- zipinfo storage *
- (where the backslash is required only if the shell would
- otherwise expand the `*' wildcard, as in Unix when glob-
- bing is turned on--double quotes around the asterisk would
- have worked as well). To turn off the totals line by
- default, use the environment variable (C shell is assumed
- here):
- setenv ZIPINFO --t
- zipinfo storage
- To get the full, short-format listing of the first example
- again, given that the environment variable is set as in
- the previous example, it is necessary to specify the -s
- option explicitly, since the -t option by itself implies
- that ONLY the footer line is to be printed:
- setenv ZIPINFO --t
- zipinfo -t storage [only totals line]
- zipinfo -st storage [full listing]
- The -s option, like -m and -l, includes headers and foot-
- ers by default, unless otherwise specified. Since the
- environment variable specified no footers and that has a
- higher precedence than the default behavior of -s, an
- explicit -t option was necessary to produce the full list-
- ing. Nothing was indicated about the header, however, so
- the -s option was sufficient. Note that both the -h and
- -t options, when used by themselves or with each other,
- override any default listing of member files; only the
- header and/or footer are printed. This behavior is useful
- when zipinfo is used with a wildcard zipfile
- Info-ZIP 28 November 1998 (v2.3) 7
- ZIPINFO(1L) ZIPINFO(1L)
- specification; the contents of all zipfiles are then sum-
- marized with a single command.
- To list information on a single file within the archive,
- in medium format, specify the filename explicitly:
- zipinfo -m storage unshrink.c
- The specification of any member file, as in this example,
- will override the default header and totals lines; only
- the single line of information about the requested file
- will be printed. This is intuitively what one would
- expect when requesting information about a single file.
- For multiple files, it is often useful to know the total
- compressed and uncompressed size; in such cases -t may be
- specified explicitly:
- zipinfo -mt storage "*.[ch]" Mak*
- To get maximal information about the ZIP archive, use the
- verbose option. It is usually wise to pipe the output
- into a filter such as Unix more(1) if the operating system
- allows it:
- zipinfo -v storage | more
- Finally, to see the most recently modified files in the
- archive, use the -T option in conjunction with an external
- sorting utility such as Unix sort(1) (and tail(1) as well,
- in this example):
- zipinfo -T storage | sort -n +6 | tail -15
- The -n option to sort(1) tells it to sort numerically
- rather than in ASCII order, and the +6 option tells it to
- sort on the sixth field after the first one (i.e., the
- seventh field). This assumes the default short-listing
- format; if -m or -l is used, the proper sort(1) option
- would be +7. The tail(1) command filters out all but the
- last 15 lines of the listing. Future releases of zipinfo
- may incorporate date/time and filename sorting as built-in
- options.
- TIPS
- The author finds it convenient to define an alias ii for
- zipinfo on systems that allow aliases (or, on other sys-
- tems, copy/rename the executable, create a link or create
- a command file with the name ii). The ii usage parallels
- the common ll alias for long listings in Unix, and the
- similarity between the outputs of the two commands was
- intentional.
- BUGS
- As with unzip, zipinfo's -M (``more'') option is overly
- Info-ZIP 28 November 1998 (v2.3) 8
- ZIPINFO(1L) ZIPINFO(1L)
- simplistic in its handling of screen output; as noted
- above, it fails to detect the wrapping of long lines and
- may thereby cause lines at the top of the screen to be
- scrolled off before being read. zipinfo should detect and
- treat each occurrence of line-wrap as one additional line
- printed. This requires knowledge of the screen's width as
- well as its height. In addition, zipinfo should detect
- the true screen geometry on all systems.
- zipinfo's listing-format behavior is unnecessarily complex
- and should be simplified. (This is not to say that it
- will be.)
- SEE ALSO
- ls(1), funzip(1L), unzip(1L), unzipsfx(1L), zip(1L), zip-
- cloak(1L), zipnote(1L), zipsplit(1L)
- URL
- The Info-ZIP home page is currently at
- http://www.cdrom.com/pub/infozip/ .
- AUTHOR
- Greg ``Cave Newt'' Roelofs. ZipInfo contains pattern-
- matching code by Mark Adler and fixes/improvements by many
- others. Please refer to the CONTRIBS file in the UnZip
- source distribution for a more complete list.
- Info-ZIP 28 November 1998 (v2.3) 9