which included commits to RCS files with non-trunk default branches. git-svn-id: svn://10.65.10.50/trunk@5403 c028cbd2-c16b-5b4b-a496-9718f37d4682
859 lines
32 KiB
Plaintext
Executable File
859 lines
32 KiB
Plaintext
Executable File
|
|
|
|
|
|
ZIP(1L) ZIP(1L)
|
|
|
|
|
|
NAME
|
|
zip, zipcloak, zipnote, zipsplit - package and compress
|
|
(archive) files
|
|
|
|
SYNOPSIS
|
|
zip [-AcdDeEfFghjklLmoqrSTuvVwXyz@$] [-b path] [-n suf-
|
|
fixes] [-t mmddyy] [ zipfile [ file1 file2 ...]]
|
|
[-xi list]
|
|
|
|
zipcloak [-dhL] [-b path] zipfile
|
|
|
|
zipnote [-hwL] [-b path] zipfile
|
|
|
|
zipsplit [-hiLpst] [-n size] [-b path] zipfile
|
|
|
|
DESCRIPTION
|
|
zip is a compression and file packaging utility for Unix,
|
|
VMS, MSDOS, OS/2, Windows NT, Minix, Atari and Macintosh.
|
|
It is analogous to a combination of the UNIX commands
|
|
tar(1) and compress(1) and is compatible with PKZIP (Phil
|
|
Katz's ZIP for MSDOS systems).
|
|
|
|
A companion program (unzip(1L)), unpacks zip archives.
|
|
The zip and unzip(1L) programs can work with archives pro-
|
|
duced by PKZIP, and PKZIP and PKUNZIP can work with
|
|
archives produced by zip. zip version 2.1 is compatible
|
|
with PKZIP 2.04. Note that PKUNZIP 1.10 cannot extract
|
|
files produced by PKZIP 2.04 or zip 2.1. You must use
|
|
PKUNZIP 2.04g or unzip 5.0p1 (or later versions) to
|
|
extract them.
|
|
|
|
For a brief help on zip and unzip, run each without speci-
|
|
fying any parameters on the command line.
|
|
|
|
The program is useful for packaging a set of files for
|
|
distribution; for archiving files; and for saving disk
|
|
space by temporarily compressing unused files or directo-
|
|
ries.
|
|
|
|
The zip program puts one or more compressed files into a
|
|
single zip archive, along with information about the files
|
|
(name, path, date, time of last modification, protection,
|
|
and check information to verify file integrity). An
|
|
entire directory structure can be packed into a zip
|
|
archive with a single command. Compression ratios of 2:1
|
|
to 3:1 are common for text files. zip has one compression
|
|
method (deflation) and can also store files without com-
|
|
pression. zip automatically chooses the better of the two
|
|
for each file to be compressed.
|
|
|
|
When given the name of an existing zip archive, zip will
|
|
replace identically named entries in the zip archive or
|
|
add entries for new names. For example, if foo.zip exists
|
|
and contains foo/file1 and foo/file2, and the directory
|
|
|
|
|
|
|
|
13 Apr 1996 1
|
|
|
|
|
|
|
|
|
|
|
|
ZIP(1L) ZIP(1L)
|
|
|
|
|
|
foo contains the files foo/file1 and foo/file3, then:
|
|
|
|
zip -r foo foo
|
|
|
|
will replace foo/file1 in foo.zip and add foo/file3 to
|
|
foo.zip. After this, foo.zip contains foo/file1,
|
|
foo/file2, and foo/file3, with foo/file2 unchanged from
|
|
before.
|
|
|
|
If the file list is specified as -@, zip takes the list of
|
|
input files from standard input. Under UNIX, this option
|
|
can be used to powerful effect in conjunction with the
|
|
find(1) command. For example, to archive all the C source
|
|
files in the current directory and its subdirectories:
|
|
|
|
find . -name "*.[ch]" -print | zip source -@
|
|
|
|
(note that the pattern must be quoted to keep the shell
|
|
from expanding it). zip will also accept a single dash
|
|
("-") as the zip file name, in which case it will write
|
|
the zip file to standard output, allowing the output to be
|
|
piped to another program. For example:
|
|
|
|
zip -r - . | dd of=/dev/nrst0 obs=16k
|
|
|
|
would write the zip output directly to a tape with the
|
|
specified block size for the purpose of backing up the
|
|
current directory.
|
|
|
|
zip also accepts a single dash ("-") as the name of a file
|
|
to be compressed, in which case it will read the file from
|
|
standard input, allowing zip to take input from another
|
|
program. For example:
|
|
|
|
tar cf - . | zip backup -
|
|
|
|
would compress the output of the tar command for the pur-
|
|
pose of backing up the current directory. This generally
|
|
produces better compression than the previous example
|
|
using the -r option, because zip can take advantage of
|
|
redundancy between files. The backup can be restored using
|
|
the command
|
|
|
|
unzip -p backup | tar xf -
|
|
|
|
When no zip file name is given and stdout is not a termi-
|
|
nal, zip acts as a filter, compressing standard input to
|
|
standard output. For example,
|
|
|
|
tar cf - . | zip | dd of=/dev/nrst0 obs=16k
|
|
|
|
is equivalent to
|
|
|
|
tar cf - . | zip - - | dd of=/dev/nrst0 obs=16k
|
|
|
|
|
|
|
|
13 Apr 1996 2
|
|
|
|
|
|
|
|
|
|
|
|
ZIP(1L) ZIP(1L)
|
|
|
|
|
|
zip archives created in this manner can be extracted with
|
|
the program funzip which is provided in the unzip package,
|
|
or by gunzip which is provided in the gzip package. For
|
|
example:
|
|
|
|
dd if=/dev/nrst0 ibs=16k | funzip | tar xvf -
|
|
|
|
When changing an existing zip archive, zip will write a
|
|
temporary file with the new contents, and only replace the
|
|
old one when the process of creating the new version has
|
|
been completed without error.
|
|
|
|
If the name of the zip archive does not contain an exten-
|
|
sion, the extension .zip is added. If the name already
|
|
contains an extension other than .zip the existing exten-
|
|
sion is kept unchanged.
|
|
|
|
OPTIONS
|
|
-A Adjust self-extracting executable archive. A self-
|
|
extracting executable archive is created by
|
|
prepending the SFX stub to an existing archive. The
|
|
-A option tells zip to adjust the entry offsets
|
|
stored in the archive to take into account this
|
|
"preamble" data.
|
|
|
|
-b path
|
|
Use the specified path for the temporary zip
|
|
archive. For example:
|
|
|
|
zip -b /tmp stuff *
|
|
|
|
will put the temporary zip archive in the directory
|
|
/tmp, copying over stuff.zip to the current direc-
|
|
tory when done. This option is only useful when
|
|
updating an existing archive, and the file system
|
|
containing this old archive does not have enough
|
|
space to hold both old and new archive at the same
|
|
time.
|
|
|
|
-c Add one-line comments for each file. File opera-
|
|
tions (adding, updating) are done first, and the
|
|
user is then prompted for a one-line comment for
|
|
each file. Enter the comment followed by return,
|
|
or just return for no comment.
|
|
|
|
-d Remove (delete) entries from a zip archive. For
|
|
example:
|
|
|
|
zip -d foo foo/tom/junk foo/harry/\* \*.o
|
|
|
|
will remove the entry foo/tom/junk, all of the
|
|
files that start with foo/harry/, and all of the
|
|
files that end with .o (in any path). Note that
|
|
shell pathname expansion has been inhibited with
|
|
|
|
|
|
|
|
13 Apr 1996 3
|
|
|
|
|
|
|
|
|
|
|
|
ZIP(1L) ZIP(1L)
|
|
|
|
|
|
backslashes, so that zip can see the asterisks,
|
|
enabling zip to match on the contents of the zip
|
|
archive instead of the contents of the current
|
|
directory.
|
|
|
|
Under MSDOS, -d is case sensitive when it matches
|
|
names in the zip archive. This requires that file
|
|
names be entered in upper case if they were zipped
|
|
by PKZIP on an MSDOS system.
|
|
|
|
-D Do not create entries in the zip archive for direc-
|
|
tories. Directory entries are created by default
|
|
so that their attributes can be saved in the zip
|
|
archive. The environment variable ZIPOPT can be
|
|
used to change the default options. For example
|
|
under Unix with sh:
|
|
|
|
ZIPOPT="-D"; export ZIPOPT
|
|
|
|
(The variable ZIPOPT can be used for any option
|
|
except -i and -x and can include several options.)
|
|
The option -D is a shorthand for -x "*/" but the
|
|
latter cannot be set as default in the ZIPOPT envi-
|
|
ronment variable.
|
|
|
|
-e Encrypt the contents of the zip archive using a
|
|
password which is entered on the terminal in
|
|
response to a prompt (this will not be echoed; if
|
|
standard error is not a tty, zip will exit with an
|
|
error). The password prompt is repeated to save
|
|
the user from typing errors.
|
|
|
|
-f Replace (freshen) an existing entry in the zip
|
|
archive only if it has been modified more recently
|
|
than the version already in the zip archive; unlike
|
|
the update option (-u) this will not add files that
|
|
are not already in the zip archive. For example:
|
|
|
|
zip -f foo
|
|
|
|
This command should be run from the same directory
|
|
from which the original zip command was run, since
|
|
paths stored in zip archives are always relative.
|
|
|
|
Note that the timezone environment variable TZ
|
|
should be set according to the local timezone in
|
|
order for the -f , -u and -o options to work cor-
|
|
rectly.
|
|
|
|
The reasons behind this are somewhat subtle but
|
|
have to do with the differences between the Unix-
|
|
format file times (always in GMT) and most of the
|
|
other operating systems (always local time) and the
|
|
necessity to compare the two. A typical TZ value
|
|
|
|
|
|
|
|
13 Apr 1996 4
|
|
|
|
|
|
|
|
|
|
|
|
ZIP(1L) ZIP(1L)
|
|
|
|
|
|
is ``MET-1METDST'' (Middle European time with auto-
|
|
matic adjustment for ``summertime'' or Daylight
|
|
Savings Time).
|
|
|
|
-F Fix the zip archive. This option can be used if
|
|
some portions of the archive are missing. It is not
|
|
guaranteed to work, so you MUST make a backup of
|
|
the original archive first.
|
|
|
|
When doubled as in -FF the compressed sizes given
|
|
inside the damaged archive are not trusted and zip
|
|
scans for special signatures to identify the limits
|
|
between the archive members. The single -F is more
|
|
reliable if the archive is not too much damaged,
|
|
for example if it has only been truncated, so try
|
|
this option first.
|
|
|
|
Neither option will recover archives that have been
|
|
incorrectly transferred in ascii mode instead of
|
|
binary. After the repair, the -t option of unzip
|
|
may show that some files have a bad CRC. Such files
|
|
cannot be recovered; you can remove them from the
|
|
archive using the -d option of zip.
|
|
|
|
-g Grow (append to) the specified zip archive, instead
|
|
of creating a new one. If this operation fails, zip
|
|
attempts to restore the archive to its original
|
|
state. If the restoration fails, the archive might
|
|
become corrupted.
|
|
|
|
-h Display the zip help information (this also appears
|
|
if zip is run with no arguments).
|
|
|
|
-i files
|
|
Include only the specified files, as in:
|
|
|
|
zip -r foo . -i \*.c
|
|
|
|
which will include only the files that end in .c in
|
|
the current directory and its subdirectories. (Note
|
|
for PKZIP users: the equivalent command is
|
|
|
|
pkzip -rP foo *.c
|
|
|
|
PKZIP does not allow recursion in directories other
|
|
than the current one.) The backslash avoids the
|
|
shell filename substitution, so that the name
|
|
matching is performed by zip at all directory lev-
|
|
els.
|
|
|
|
-j Store just the name of a saved file (junk the
|
|
path), and do not store directory names. By
|
|
default, zip will store the full path (relative to
|
|
the current path).
|
|
|
|
|
|
|
|
13 Apr 1996 5
|
|
|
|
|
|
|
|
|
|
|
|
ZIP(1L) ZIP(1L)
|
|
|
|
|
|
-J Strip any prepended data (e.g. a SFX stub) from the
|
|
archive.
|
|
|
|
-k Attempt to convert the names and paths to conform
|
|
to MSDOS, store only the MSDOS attribute (just the
|
|
user write attribute from UNIX), and mark the entry
|
|
as made under MSDOS (even though it was not); for
|
|
compatibility with PKUNZIP under MSDOS which cannot
|
|
handle certain names such as those with two dots.
|
|
|
|
-l Translate the Unix end-of-line character LF into
|
|
the MSDOS convention CR LF. This option should not
|
|
be used on binary files. This option can be used
|
|
on Unix if the zip file is intended for PKUNZIP
|
|
under MSDOS. If the input files already contain CR
|
|
LF, this option adds an extra CR. This ensure that
|
|
unzip -a on Unix will get back an exact copy of the
|
|
original file, to undo the effect of zip -l.
|
|
|
|
-ll Translate the MSDOS end-of-line CR LF into Unix LF.
|
|
This option should not be used on binary files.
|
|
This option can be used on MSDOS if the zip file is
|
|
intended for unzip under Unix.
|
|
|
|
-L Display the zip license.
|
|
|
|
-m Move the specified files into the zip archive;
|
|
actually, this deletes the target directories/files
|
|
after making the specified zip archive. If a direc-
|
|
tory becomes empty after removal of the files, the
|
|
directory is also removed. No deletions are done
|
|
until zip has created the archive without error.
|
|
This is useful for conserving disk space, but is
|
|
potentially dangerous so it is recommended to use
|
|
it in combination with -T to test the archive
|
|
before removing all input files.
|
|
|
|
-n suffixes
|
|
Do not attempt to compress files named with the
|
|
given suffixes. Such files are simply stored (0%
|
|
compression) in the output zip file, so that zip
|
|
doesn't waste its time trying to compress them.
|
|
The suffixes are separated by either colons or
|
|
semicolons. For example:
|
|
|
|
zip -rn .Z:.zip:.tiff:.gif:.snd foo foo
|
|
|
|
will copy everything from foo into foo.zip, but
|
|
will store any files that end in .Z, .zip, .tiff,
|
|
.gif, or .snd without trying to compress them
|
|
(image and sound files often have their own spe-
|
|
cialized compression methods). By default, zip
|
|
does not compress files with extensions in the list
|
|
.Z:.zip:.zoo:.arc:.lzh:.arj. Such files are stored
|
|
|
|
|
|
|
|
13 Apr 1996 6
|
|
|
|
|
|
|
|
|
|
|
|
ZIP(1L) ZIP(1L)
|
|
|
|
|
|
directly in the output archive. The environment
|
|
variable ZIPOPT can be used to change the default
|
|
options. For example under Unix with csh:
|
|
|
|
setenv ZIPOPT "-n .gif:.zip"
|
|
|
|
To attempt compression on all files, use:
|
|
|
|
zip -n : foo
|
|
|
|
The maximum compression option -9 also attempts
|
|
compression on all files regardless of extension.
|
|
|
|
-o Set the "last modified" time of the zip archive to
|
|
the latest (oldest) "last modified" time found
|
|
among the entries in the zip archive. This can be
|
|
used without any other operations, if desired. For
|
|
example:
|
|
|
|
zip -o foo
|
|
|
|
will change the last modified time of foo.zip to
|
|
the latest time of the entries in foo.zip.
|
|
|
|
-q Quiet mode; eliminate informational messages and
|
|
comment prompts. (Useful, for example, in shell
|
|
scripts and background tasks).
|
|
|
|
-r Travel the directory structure recursively; for
|
|
example:
|
|
|
|
zip -r foo foo
|
|
|
|
In this case, all the files and directories in foo
|
|
are saved in a zip archive named foo.zip, including
|
|
files with names starting with ".", since the
|
|
recursion does not use the shell's file-name sub-
|
|
stitution mechanism. If you wish to include only a
|
|
specific subset of the files in directory foo and
|
|
its subdirectories, use the -i option to specify
|
|
the pattern of files to be included. You should
|
|
not use -r with the name ".*", since that matches
|
|
".." which will attempt to zip up the parent
|
|
directory (probably not what was intended).
|
|
|
|
-S Include system and hidden files. This option is
|
|
effective on some systems only; it is ignored on
|
|
Unix.
|
|
|
|
-t mmddyy
|
|
Do not operate on files modified prior to the spec-
|
|
ified date, where mm is the month (0-12), dd is the
|
|
day of the month (1-31), and yy are the last two
|
|
digits of the year. For example:
|
|
|
|
|
|
|
|
13 Apr 1996 7
|
|
|
|
|
|
|
|
|
|
|
|
ZIP(1L) ZIP(1L)
|
|
|
|
|
|
zip -rt 120791 infamy foo
|
|
|
|
will add all the files in foo and its subdirecto-
|
|
ries that were last modified on or after 7 December
|
|
1991, to the zip archive infamy.zip.
|
|
|
|
-T Test the integrity of the new zip file. If the
|
|
check fails, the old zip file is unchanged and
|
|
(with the -m option) not input files are removed.
|
|
|
|
-u Replace (update) an existing entry in the zip
|
|
archive only if it has been modified more recently
|
|
than the version already in the zip archive. For
|
|
example:
|
|
|
|
zip -u stuff *
|
|
|
|
will add any new files in the current directory,
|
|
and update any files which have been modified since
|
|
the zip archive stuff.zip was last created/modified
|
|
(note that zip will not try to pack stuff.zip into
|
|
itself when you do this).
|
|
|
|
Note that the -u option with no arguments acts like
|
|
the -f (freshen) option.
|
|
|
|
-v Verbose mode or print diagnostic version info.
|
|
|
|
Normally, when applied to real operations, this
|
|
option enables the display of a progress indicator
|
|
during compression and requests verbose diagnostic
|
|
info about zipfile structure oddities.
|
|
|
|
When -v is the only command line argument, and std-
|
|
out is not redirected to a file, a diagnostic
|
|
screen is printed. In addition to the help screen
|
|
header with program name, version, and release
|
|
date, some pointers to the Info-ZIP home and dis-
|
|
tribution sites are given. Then, it shows informa-
|
|
tion about the target environment (compiler type
|
|
and version, OS version, compilation date and the
|
|
enabled optional features used to create the zip
|
|
executable.
|
|
|
|
-V Save VMS file attributes. This option is available
|
|
on VMS only; zip archives created with this option
|
|
will generally not be usable on other systems.
|
|
|
|
-w Append the version number of the files to the name,
|
|
including multiple versions of files. (VMS only;
|
|
default: use only the most recent version of a
|
|
specified file).
|
|
|
|
|
|
|
|
|
|
|
|
13 Apr 1996 8
|
|
|
|
|
|
|
|
|
|
|
|
ZIP(1L) ZIP(1L)
|
|
|
|
|
|
-x files
|
|
Explicitly exclude the specified files, as in:
|
|
|
|
zip -r foo foo -x \*.o
|
|
|
|
which will include the contents of foo in foo.zip
|
|
while excluding all the files that end in .o. The
|
|
backslash avoids the shell filename substitution,
|
|
so that the name matching is performed by zip at
|
|
all directory levels.
|
|
|
|
-X Do not save extra file attributes (Extended
|
|
Attributes on OS/2, uid/gid and file times on
|
|
Unix).
|
|
|
|
-y Store symbolic links as such in the zip archive,
|
|
instead of compressing and storing the file
|
|
referred to by the link (UNIX only).
|
|
|
|
-z Prompt for a multi-line comment for the entire zip
|
|
archive. The comment is ended by a line containing
|
|
just a period, or an end of file condition (^D on
|
|
UNIX, ^Z on MSDOS, OS/2, and VAX/VMS). The comment
|
|
can be taken from a file:
|
|
|
|
zip -z foo < foowhat
|
|
|
|
-# Regulate the speed of compression using the speci-
|
|
fied digit #, where -0 indicates no compression
|
|
(store all files), -1 indicates the fastest com-
|
|
pression method (less compression) and -9 indicates
|
|
the slowest compression method (optimal compres-
|
|
sion, ignores the suffix list). The default com-
|
|
pression level is -6.
|
|
|
|
-@ Take the list of input files from standard input.
|
|
File names containing spaces must be quoted using
|
|
single quotes, as in 'file name'.
|
|
|
|
-$ Include the volume label for the the drive holding
|
|
the first file to be compressed. If you want to
|
|
include only the volume label or to force a spe-
|
|
cific drive, use the drive name as first file name,
|
|
as in:
|
|
|
|
zip -$ foo a: c:bar
|
|
|
|
This option is effective on some systems only
|
|
(MSDOS and OS/2); it is ignored on Unix.
|
|
|
|
EXAMPLES
|
|
The simplest example:
|
|
|
|
zip stuff *
|
|
|
|
|
|
|
|
13 Apr 1996 9
|
|
|
|
|
|
|
|
|
|
|
|
ZIP(1L) ZIP(1L)
|
|
|
|
|
|
creates the archive stuff.zip (assuming it does not exist)
|
|
and puts all the files in the current directory in it, in
|
|
compressed form (the .zip suffix is added automatically,
|
|
unless that archive name given contains a dot already;
|
|
this allows the explicit specification of other suffixes).
|
|
|
|
Because of the way the shell does filename substitution,
|
|
files starting with "." are not included; to include these
|
|
as well:
|
|
|
|
zip stuff .* *
|
|
|
|
Even this will not include any subdirectories from the
|
|
current directory.
|
|
|
|
To zip up an entire directory, the command:
|
|
|
|
zip -r foo foo
|
|
|
|
creates the archive foo.zip, containing all the files and
|
|
directories in the directory foo that is contained within
|
|
the current directory.
|
|
|
|
You may want to make a zip archive that contains the files
|
|
in foo, without recording the directory name, foo. You
|
|
can use the -j option to leave off the paths, as in:
|
|
|
|
zip -j foo foo/*
|
|
|
|
If you are short on disk space, you might not have enough
|
|
room to hold both the original directory and the corre-
|
|
sponding compressed zip archive. In this case, you can
|
|
create the archive in steps using the -m option. If foo
|
|
contains the subdirectories tom, dick, and harry, you can:
|
|
|
|
zip -rm foo foo/tom
|
|
zip -rm foo foo/dick
|
|
zip -rm foo foo/harry
|
|
|
|
where the first command creates foo.zip, and the next two
|
|
add to it. At the completion of each zip command, the
|
|
last created archive is deleted, making room for the next
|
|
zip command to function.
|
|
|
|
PATTERN MATCHING
|
|
This section applies only to UNIX. Watch this space for
|
|
details on MSDOS and VMS operation.
|
|
|
|
The UNIX shells (sh(1) and csh(1)) do filename substitu-
|
|
tion on command arguments. The special characters are:
|
|
|
|
? match any single character
|
|
|
|
* match any number of characters (including none)
|
|
|
|
|
|
|
|
13 Apr 1996 10
|
|
|
|
|
|
|
|
|
|
|
|
ZIP(1L) ZIP(1L)
|
|
|
|
|
|
[] match any character in the range indicated within
|
|
the brackets (example: [a-f], [0-9]).
|
|
|
|
When these characters are encountered (without being
|
|
escaped with a backslash or quotes), the shell will look
|
|
for files relative to the current path that match the pat-
|
|
tern, and replace the argument with a list of the names
|
|
that matched.
|
|
|
|
The zip program can do the same matching on names that are
|
|
in the zip archive being modified or, in the case of the
|
|
-x (exclude) or -i (include) options, on the list of files
|
|
to be operated on, by using backslashes or quotes to tell
|
|
the shell not to do the name expansion. In general, when
|
|
zip encounters a name in the list of files to do, it first
|
|
looks for the name in the file system. If it finds it, it
|
|
then adds it to the list of files to do. If it does not
|
|
find it, it looks for the name in the zip archive being
|
|
modified (if it exists), using the pattern matching char-
|
|
acters described above, if present. For each match, it
|
|
will add that name to the list of files to be processed,
|
|
unless this name matches one given with the -x option, or
|
|
does not match any name given with the -i option.
|
|
|
|
The pattern matching includes the path, and so patterns
|
|
like \*.o match names that end in ".o", no matter what the
|
|
path prefix is. Note that the backslash must precede
|
|
every special character (i.e. ?*[]), or the entire argu-
|
|
ment must be enclosed in double quotes ("").
|
|
|
|
In general, use backslash to make zip do the pattern
|
|
matching with the -f (freshen) and -d (delete) options,
|
|
and sometimes after the -x (exclude) option when used with
|
|
an appropriate operation (add, -u, -f, or -d).
|
|
|
|
SEE ALSO
|
|
compress(1), shar(1L), tar(1), unzip(1L), gzip(1L)
|
|
|
|
BUGS
|
|
zip 2.1 is not compatible with PKUNZIP 1.10. Use zip 1.1
|
|
to produce zip files which can be extracted by PKUNZIP
|
|
1.10.
|
|
|
|
zip files produced by zip 2.1 must not be updated by zip
|
|
1.1 or PKZIP 1.10, if they contain encrypted members or if
|
|
they have been produced in a pipe or on a non-seekable
|
|
device. The old versions of zip or PKZIP would create an
|
|
archive with an incorrect format. The old versions can
|
|
list the contents of the zip file but cannot extract it
|
|
anyway (because of the new compression algorithm). If you
|
|
do not use encryption and use regular disk files, you do
|
|
not have to care about this problem.
|
|
|
|
Under VMS, not all of the odd file formats are treated
|
|
|
|
|
|
|
|
13 Apr 1996 11
|
|
|
|
|
|
|
|
|
|
|
|
ZIP(1L) ZIP(1L)
|
|
|
|
|
|
properly. Only stream-LF format zip files are expected to
|
|
work with zip. Others can be converted using Rahul
|
|
Dhesi's BILF program. This version of zip handles some of
|
|
the conversion internally. When using Kermit to transfer
|
|
zip files from Vax to MSDOS, type "set file type block" on
|
|
the Vax. When transfering from MSDOS to Vax, type "set
|
|
file type fixed" on the Vax. In both cases, type "set
|
|
file type binary" on MSDOS.
|
|
|
|
Under VMS, zip hangs for file specification that uses DEC-
|
|
net syntax foo::*.*.
|
|
|
|
On OS/2, zip cannot match some names, such as those
|
|
including an exclamation mark or a hash sign. This is a
|
|
bug in OS/2 itself: the 32-bit DosFindFirst/Next don't
|
|
find such names. Other programs such as GNU tar are also
|
|
affected by this bug.
|
|
|
|
Under OS/2, the amount of Extended Attributes displayed by
|
|
DIR is (for compatibility) the amount returned by the
|
|
16-bit version of DosQueryPathInfo(). Otherwise OS/2 1.3
|
|
and 2.0 would report different EA sizes when DIRing a
|
|
file. However, the structure layout returned by the
|
|
32-bit DosQueryPathInfo() is a bit different, it uses
|
|
extra padding bytes and link pointers (it's a linked list)
|
|
to have all fields on 4-byte boundaries for portability to
|
|
future RISC OS/2 versions. Therefore the value reported by
|
|
zip (which uses this 32-bit-mode size) differs from that
|
|
reported by DIR. zip stores the 32-bit format for porta-
|
|
bility, even the 16-bit MS-C-compiled version running on
|
|
OS/2 1.3, so even this one shows the 32-bit-mode size.
|
|
|
|
On the Amiga, the -A option currently does not work.
|
|
|
|
AUTHORS
|
|
Copyright (C) 1990-1996 Mark Adler, Richard B. Wales,
|
|
Jean-loup Gailly, Onno van der Linden, Kai Uwe Rommel,
|
|
Igor Mandrichenko, John Bush and Paul Kienitz. Permission
|
|
is granted to any individual or institution to use, copy,
|
|
or redistribute this software so long as all of the origi-
|
|
nal files are included, that it is not sold for profit,
|
|
and that this copyright notice is retained.
|
|
|
|
LIKE ANYTHING ELSE THAT'S FREE, ZIP AND ITS ASSOCIATED
|
|
UTILITIES ARE PROVIDED AS IS AND COME WITH NO WARRANTY OF
|
|
ANY KIND, EITHER EXPRESSED OR IMPLIED. IN NO EVENT WILL
|
|
THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES RESULTING
|
|
FROM THE USE OF THIS SOFTWARE.
|
|
|
|
Please send bug reports and comments by email to:
|
|
zip-bugs@wkuvx1.wku.edu. For bug reports, please include
|
|
the version of zip (see zip-h ), the make options used to
|
|
compile it see zip-v ), the machine and operating system
|
|
in use, and as much additional information as possible.
|
|
|
|
|
|
|
|
13 Apr 1996 12
|
|
|
|
|
|
|
|
|
|
|
|
ZIP(1L) ZIP(1L)
|
|
|
|
|
|
ACKNOWLEDGEMENTS
|
|
Thanks to R. P. Byrne for his Shrink.Pas program, which
|
|
inspired this project, and from which the shrink algorithm
|
|
was stolen; to Phil Katz for placing in the public domain
|
|
the zip file format, compression format, and .ZIP filename
|
|
extension, and for accepting minor changes to the file
|
|
format; to Steve Burg for clarifications on the deflate
|
|
format; to Haruhiko Okumura and Leonid Broukhis for pro-
|
|
viding some useful ideas for the compression algorithm; to
|
|
Keith Petersen, Rich Wales, Hunter Goatley and Mark Adler
|
|
for providing a mailing list and ftp site for the INFO-ZIP
|
|
group to use; and most importantly, to the INFO-ZIP group
|
|
itself (listed in the file infozip.who) without whose
|
|
tireless testing and bug-fixing efforts a portable zip
|
|
would not have been possible. Finally we should thank
|
|
(blame) the first INFO-ZIP moderator, David Kirschbaum,
|
|
for getting us into this mess in the first place. The
|
|
manual page was rewritten for UNIX by R. P. C. Rodgers.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 Apr 1996 13
|
|
|
|
|