ZIP(1L) ZIP(1L)
NAME
zip, zipcloak, zipnote, zipsplit - package and compress
(archive) files
SYNOPSIS
zip [-aABcdDeEfFghjklLmoqrRSTuvVwXyz!@$] [-b path]
[-n suffixes] [-t mmddyyyy] [-tt mmddyyyy] [ 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, Amiga and Acorn RISC OS.
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
produced by PKZIP, and PKZIP and PKUNZIP can work with
archives produced by zip. zip version 2.3 is compatible
with PKZIP 2.04. Note that PKUNZIP 1.10 cannot extract
files produced by PKZIP 2.04 or zip 2.3. 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
specifying 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 direc-
tories.
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, pro-
tection, 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 compression. 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 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 -@, [Not on MacOS] 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 direc-
tory 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
purpose of backing up the current directory. This gener-
ally produces better compression than the previous exam-
ple 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 ter-
minal, 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
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
extension, the extension .zip is added. If the name
already contains an extension other than .zip the exist-
ing extension is kept unchanged.
OPTIONS
-a [Systems using EBCDIC] Translate file to ASCII
format.
-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 off-
sets stored in the archive to take into account
this "preamble" data.
Note: self-extracting archives for the Amiga are a spe-
cial case. At present, only the Amiga port of Zip is
capable of adjusting or updating these without corrupt-
ing them. -J can be used to remove the SFX stub if other
updates need to be made.
-B [VM/CMS and MVS] force file to be read binary
(default is text).
-Bn [TANDEM] set Edit/Enscribe formatting options
with n defined as
bit 0: Don't add delimiter (Edit/Enscribe)
bit 1: Use LF rather than CR/LF as delimiter
(Edit/Enscribe)
bit 2: Space fill record to maximum record
length (Enscribe)
bit 3: Trim trailing space (Enscribe)
bit 8: Force 30K (Expand) large read for unstruc-
tured files
-b path
Use the specified path for the temporary zip ar-
chive. For example:
zip -b /tmp stuff *
will put the temporary zip archive in the direc-
tory /tmp, copying over stuff.zip to the current
directory 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 archives 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: