mirror of https://github.com/BOINC/boinc.git
514 lines
23 KiB
Plaintext
514 lines
23 KiB
Plaintext
|
|
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 17 February 2002 (v2.4) 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 17 February 2002 (v2.4) 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 17 February 2002 (v2.4) 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 17 February 2002 (v2.4) 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 17 February 2002 (v2.4) 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:
|
|
|
|
Unix Bourne shell:
|
|
ZIPINFO=-l; export ZIPINFO
|
|
|
|
Unix C shell:
|
|
setenv ZIPINFO -l
|
|
|
|
OS/2 or MS-DOS:
|
|
set ZIPINFO=-l
|
|
|
|
VMS (quotes for lowercase):
|
|
define ZIPINFO_OPTS "-l"
|
|
|
|
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
|
|
|
|
Info-ZIP 17 February 2002 (v2.4) 6
|
|
|
|
ZIPINFO(1L) ZIPINFO(1L)
|
|
|
|
ZIPINFO_OPTS for VMS (where the symbol used to install
|
|
zipinfo as a foreign command would otherwise be confused
|
|
with the environment variable), and ZIPINFO for all other
|
|
operating systems. For compatibility with zip(1L), ZIPIN-
|
|
FOOPT is also accepted (don't ask). If both ZIPINFO and
|
|
ZIPINFOOPT are defined, however, ZIPINFO takes precedence.
|
|
unzip's diagnostic option (-v with no zipfile name) can be
|
|
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
|
|
|
|
Info-ZIP 17 February 2002 (v2.4) 7
|
|
|
|
ZIPINFO(1L) ZIPINFO(1L)
|
|
|
|
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 specifica-
|
|
tion; the contents of all zipfiles are then summarized
|
|
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
|
|
|
|
Info-ZIP 17 February 2002 (v2.4) 8
|
|
|
|
ZIPINFO(1L) ZIPINFO(1L)
|
|
|
|
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
|
|
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.info-zip.org/pub/infozip/
|
|
or
|
|
ftp://ftp.info-zip.org/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 17 February 2002 (v2.4) 9
|
|
|