prophecy 0.0.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,266 @@
1
+ __________________________________________________________________________
2
+
3
+ This is the Info-ZIP file ``WHERE,'' last updated on 29 March 2008.
4
+ __________________________________________________________________________
5
+
6
+ The latest version of this file can be found online at:
7
+
8
+ ftp://ftp.info-zip.org/pub/infozip/doc/WHERE
9
+
10
+ Note that some ftp sites may not yet have the latest versions of Zip
11
+ and UnZip when you read this. The latest versions always appear in
12
+ ftp://ftp.info-zip.org/pub/infozip/ (and subdirectories thereof) first,
13
+ except for encryption binaries, which always appear in
14
+ ftp://ftp.icce.rug.nl/infozip/ (and subdirectories) first.
15
+
16
+ IF YOU FIND AN ERROR: please let us know! We don't have time to
17
+ check each and every site personally (or even collectively), so any
18
+ number of the sites listed below may have moved or disappeared en-
19
+ tirely. E-mail to Zip-Bugs@lists.wku.edu and we'll update this file.
20
+ __________________________________________________________________________
21
+
22
+
23
+ Info-ZIP's home WWW site is listed on Yahoo and is at:
24
+
25
+ ftp://ftp.info-zip.org/pub/infozip/Info-ZIP.html (master version)
26
+ http://ftp.info-zip.org/pub/infozip/ (master version)
27
+ http://www.info-zip.org/
28
+
29
+ Note that the old sites at http://www.cdrom.com/pub/infozip/ and
30
+ http://www.freesoftware.com/pub/infozip are PERMANENTLY BROKEN. They
31
+ cannot be updated or removed, apparently.
32
+
33
+ The Zip and UnZip pages have links to most known mirror sites carrying our
34
+ source and/or binary distributions, and they generally are more up-to-date
35
+ and have better information than what you are reading:
36
+
37
+ ftp://ftp.info-zip.org/pub/infozip/Zip.html
38
+ ftp://ftp.info-zip.org/pub/infozip/UnZip.html
39
+
40
+ The related zlib package by Info-ZIP's Jean-loup Gailly and Mark Adler is at:
41
+
42
+ http://www.zlib.net/
43
+
44
+ Source-code archives for Info-ZIP's portable Zip, UnZip, and related
45
+ utilities:
46
+
47
+ zip30.zip Zip 3.0 (deflation, bzip2, ZIP64 large archives, multi-
48
+ volume splits; includes zipnote/zipsplit/zipcloak)
49
+ zip30.tar.Z ditto, compress'd tar format
50
+
51
+ zip232.zip Zip 2.32 (deflation; includes zipnote/zipsplit/zipcloak)
52
+ zip232.tar.Z ditto, compress'd tar format
53
+
54
+ zip11.zip Zip 1.1 (shrinking, implosion; compatible w. PKUNZIP 1.1)
55
+ zip11.tar.Z ditto, compress'd tar format
56
+
57
+ unzip60.zip UnZip 6.0 (all methods[*]; unzip/funzip/unzipsfx/zipgrep)
58
+ unzip60.tar.gz ditto, gzip'd tar format
59
+ unzip60.tar.Z ditto, compress'd tar format
60
+
61
+ unred60.zip UnZip 6.0 add-on, contains copyrighted unreduce support
62
+
63
+ zcrypt29.zip encryption support for Zip 2.3[**]
64
+ zcrypt10.zip encryption support for Zip 1.1
65
+
66
+ MacZip106src.zip contains all the GUI stuff and the project files to build
67
+ the MacZip main-app. To build MacZip successfully, both
68
+ the Zip 3.0 and UnZip 6.0 sources are required, too.
69
+
70
+ wiz601.zip WiZ 6.01, Windows 9x/NT GUI front-end for Info-ZIP's DLLs,
71
+ as well as the source code and project files for the DLLs,
72
+ and static libraries.
73
+
74
+ [*] Unreducing is disabled by default, but is available as add-on.
75
+ As of July 2004, Unisys's LZW patent was expired worldwide, and
76
+ unshrinking is turned on by default since the release of UnZip 5.52.
77
+ See UnZip's INSTALL file for details.
78
+
79
+ [**] As of January 2000, US export regulations were amended to allow export
80
+ of free encryption source code from the US. As of June 2002, these
81
+ regulations were further relaxed to allow export of encryption binaries
82
+ associated with free encryption source code. The Zip 2.32, UnZip 5.52
83
+ and Wiz 5.02 archives now include full crypto source code. As of the
84
+ Zip 2.32 release, all official binaries include encryption support; the
85
+ former "zcr" archives ceased to exist.
86
+ (Note that restrictions may still exist in other countries, of course.)
87
+
88
+ Executables archives (and related files) for Info-ZIP's software; not all
89
+ of these will be immediately available due to lack of access to appropriate
90
+ systems on the part of Info-ZIP members.
91
+
92
+ zip###x.zip MSDOS executables and docs
93
+ zip###x1.zip OS/2 1.x (16-bit) executables and docs
94
+ zip###x2.zip OS/2 2/3/4.x (32-bit) executables and docs
95
+ zip###xA.zip Amiga executables and docs
96
+ zip###xB.zip BeOS executables and docs
97
+ zip###xC.zip VM/CMS executable and docs
98
+ zip###xK.zip Tandem NSK executables and docs
99
+ zip###xM.xmit MVS classic executable
100
+ zip###xM-docs.zip MVS classic port, docs only
101
+ zip###dN.zip WinNT/Win9x (Intel) DLL, header files, docs
102
+ zip###xN.zip WinNT/Win9x (Intel) executables and docs
103
+ zip###xN-axp.zip WinNT (Alpha AXP) executables and docs
104
+ zip###xN-mip.zip WinNT (MIPS R4000) executables and docs
105
+ zip###xN-ppc.zip WinNT (PowerPC) executables and docs
106
+ zip###xO.zip IBM OS/390 Open Edition binaries and docs
107
+ zip###xQ.zip SMS/QDOS executables and docs
108
+ zip###xR.zip Acorn RISC OS executables and docs
109
+ zip###xT.zip Atari TOS executables and docs
110
+ zip###-vms-axp-obj.zip
111
+ VMS (Alpha AXP) object libs, link procedure and docs
112
+ zip###-vms-axp-exe.zip
113
+ VMS (Alpha AXP) executables for VMS 6.1 or later and docs
114
+ zip###-vms-vax-decc-obj.zip
115
+ VMS (VAX) object libs (new DEC C), link procedure and docs
116
+ zip###-vms-vax-decc-exe.zip
117
+ VMS (VAX) executables (DEC C) for VMS 6.1 or later; docs
118
+ zip###-vms-vax-vaxc-obj.zip
119
+ VMS (VAX) object libs (old VAX C), link procedure and docs
120
+ zip###x.hqx Macintosh BinHex'd executables and docs
121
+
122
+ unz###x.exe MSDOS self-extracting executable (16-bit unzip, ..., docs)
123
+ unz###x3.exe MSDOS self-extracting executable (16-, 32-bit unzip, docs)
124
+ unz###x1.exe OS/2 1.x (16-bit) self-extracting executables and docs
125
+ unz###x2.exe OS/2 2/3/4.x (32-bit) self-extracting executables and docs
126
+ unz###d2.zip OS/2 2/3/4.x (32-bit) DLL, header file, demo exe and docs
127
+ unz###xA.ami Amiga self-extracting executables and docs
128
+ unz###xA.lha Amiga executables and docs, LHa archive
129
+ unz###xB.sfx BeOS self-extracting executables and docs
130
+ unz###xB.tar.gz BeOS executables and docs, gzip'd tar archive
131
+ unz###xC.mod VM/CMS executable module in "packed" format
132
+ unz###xC-docs.zip VM/CMS docs, only
133
+ unz###xF.zip FlexOS executable and docs
134
+ unz###xK.zip Tandem NSK executable and docs
135
+ unz###xM.xmit MVS classic executable
136
+ unz###xM-docs.zip MVS classic port, docs only
137
+ unz###dN.zip NT4/W2K/XP/2K3/W9x (32-bit Intel) DLL, header files, docs
138
+ unz###xN.exe NT/2K/XP/2K3/W9x self-extracting i386 executables and docs
139
+ unz###xN-axp.exe WinNT (Alpha AXP) self-extracting executables and docs
140
+ unz###xN-mip.exe WinNT (MIPS R4000) self-extracting executables and docs
141
+ unz###xN-ppc.exe WinNT (PowerPC) self-extracting executables and docs
142
+ unz###xQ.sfx SMS/QDOS self-extracting executables and docs
143
+ unz###xO.tar.Z IBM OS/390 Open edition (Unix-like), exes and docs
144
+ unz###xR.exe Acorn RISC OS self-extracting executables and docs
145
+ unz###xR.spk Acorn RISC OS Spark'd executables and docs
146
+ unz###xT.tos Atari TOS self-extracting executables and docs
147
+ unz###x-vms-axp-obj.bck VMS backup saveset,
148
+ contains UnZip (Alpha) obj libs, link procedure, docs
149
+ unz###x-vms-axp-obj.exe VMS (Alpha AXP) SFX archive (statically linked),
150
+ contains UnZip (Alpha) obj libs, link procedure, docs
151
+ unz###x-vms-axp-exe.exe VMS (Alpha AXP) SFX archive (dynamically linked),
152
+ contains UnZip (Alpha AXP, DEC C) executables and docs,
153
+ smaller than object archive, but requires VMS 6.1
154
+ unz###x-vms-vax-decc-obj.bck VMS backup saveset,
155
+ contains UnZip (new DEC C) obj libs, link procedure, docs
156
+ unz###x-vms-vax-decc-obj.exe VMS (VAX) SFX archive (statically linked),
157
+ contains UnZip (new DEC C) obj libs, link procedure, docs
158
+ unz###x-vms-vax-decc-exe.exe VMS (VAX) SFX archive (dynamically linked),
159
+ contains UnZip (new DEC C) executables and docs,
160
+ smaller than object archive, but requires VMS 6.1
161
+ unz###x-vms-vax-vaxc-obj.bck VMS backup saveset,
162
+ contains UnZip (old VAX C) obj libs, link procedure, docs
163
+ unz###x-vms-vax-vaxc-obj.exe VMS (VAX) SFX archive (statically linked),
164
+ contains UnZip (old VAX C) obj libs, link procedure, docs
165
+ unz###x.hqx Macintosh BinHex'd executables and docs for unzip
166
+ (unz###x.tar.{Z,gz} Unix exes/docs for Solaris 2.x, SCO Unix, Linux, etc.,
167
+ depending on directory/location; generally only provided
168
+ in cases where the OS does *not* ship with a bundled C
169
+ compiler)
170
+
171
+ MacZip106nc.hqx Macintosh combined Zip&UnZip application with GUI,
172
+ executables and docs (no encryption)
173
+ MacZip106c.hqx Macintosh combined Zip&UnZip application with GUI,
174
+ executables and docs (with encryption)
175
+
176
+ wiz###xN.exe WiZ #.## 32-bit (Win9x/NT/2K/XP/2K3) app+docs (self-extr.)
177
+
178
+ UnzpHist.zip complete changes-history of UnZip and its precursors
179
+ ZipHist.zip complete changes-history of Zip
180
+
181
+ ftp/web sites for the US-exportable sources and executables:
182
+
183
+ NOTE: Look for the Info-ZIP file names given above (not PKWARE or third-
184
+ party stuff) in the following locations. Some sites like to use slightly
185
+ different names, such as zip-#.##.tar.gz instead of zip###.tar.Z.
186
+
187
+ http://sourceforge.net/project/showfiles.php?group_id=118012
188
+ [THE INFO-ZIP SOURCES HOME SITE]
189
+
190
+ ftp://ftp.info-zip.org/pub/infozip/ [THE INFO-ZIP HOME SITE]
191
+ ftp://sunsite.doc.ic.ac.uk/packages/zip/ [MIRRORS THE INFO-ZIP HOME SITE]
192
+ ftp://unix.hensa.ac.uk/mirrors/uunet/pub/archiving/zip/
193
+
194
+ ftp://ftp.cmdl.noaa.gov/aerosol/doc/archiver/{all,dos,os2,mac,vax_alpha}/
195
+ ftp://garbo.uwasa.fi/pc/arcers/ [AND OTHER GARBO MIRRORS]
196
+ ftp://garbo.uwasa.fi/unix/arcers/ [AND OTHER GARBO MIRRORS]
197
+ ftp://ftp.elf.stuba.sk/pub/pc/pack/ [AND OTHER STUBA MIRRORS]
198
+ ftp://ftp-os2.cdrom.com/pub/os2/archiver/
199
+ ftp://ftp-os2.nmsu.edu/os2/archiver/
200
+ ftp://ftp.informatik.tu-muenchen.de/pub/comp/os/os2/archiver/
201
+ ftp://sumex-aim.stanford.edu/info-mac/cmp/
202
+ ftp://ftp.wustl.edu/pub/aminet/util/arc/ [AND OTHER AMINET MIRRORS]
203
+ ftp://atari.archive.umich.edu/pub/Archivers/ [AND OTHER UMICH MIRRORS]
204
+ http://www.umich.edu/~archive/atari/Archivers/
205
+ ftp://jake.educom.com.au/pub/infozip/acorn/ [Acorn RISC OS]
206
+ http://www.sitec.net/maczip/ [MacZip port]
207
+
208
+ ftp/web sites for the encryption and decryption sources and/or executables:
209
+
210
+ Outside the US:
211
+ ftp://ftp.info-zip.org/pub/infozip/ [THE INFO-ZIP HOME SITE]
212
+ ftp://ftp.icce.rug.nl/infozip/ [THE INFO-ZIP ENCRYPTION HOME SITE]
213
+ ftp://ftp.elf.stuba.sk/pub/pc/pack/
214
+ ftp://garbo.uwasa.fi/pc/arcers/
215
+ ftp://ftp.inria.fr/system/arch-compr/
216
+ ftp://ftp.leo.org/pub/comp/os/os2/leo/archiver/
217
+ (mail server at ftp-mailer@ftp.leo.org)
218
+
219
+ ftp://ftp.win.tue.nl/pub/compression/zip/
220
+ ftp://ftp.uni-erlangen.de/pub/pc/msdos/arc-utils/zip/
221
+
222
+
223
+ The primary distribution site for the MacZip port can be found at:
224
+
225
+ http://www.sitec.net/maczip/
226
+
227
+ ftp sites for VMS-format Zip and UnZip packages (sources, object files and
228
+ executables, no encryption/decryption--see also "Mail servers" section below):
229
+
230
+ ftp.spc.edu [192.107.46.27] and ftp.wku.edu:
231
+
232
+ [.MACRO32]AAAREADME.TXT
233
+ [.MACRO32.SAVESETS]UNZIP.BCK or UNZIP.ZIP (if already have older version)
234
+ [.MACRO32.SAVESETS]ZIP.ZIP
235
+
236
+ To find other ftp/web sites:
237
+
238
+ The "archie" ftp database utility can be used to find an ftp site near
239
+ you (although the command-line versions always seem to find old ver-
240
+ sions...the `FTPsearch' server at http://ftpsearch.ntnu.no/ftpsearch
241
+ --formerly `Archie 95'--is quite up-to-date, however). Or check a stan-
242
+ dard WWW search engine like AltaVista (http://www.altavista.digital.com/)
243
+ or Yahoo (http://www.yahoo.com/). If you don't know how to use these,
244
+ DON'T ASK US--read the web sites' help pages or check the Usenet groups
245
+ news.announce.newusers or news.answers or some such, or ask your system
246
+ administrator.
247
+
248
+ Mail servers:
249
+
250
+ To get the encryption sources by e-mail, send the following commands
251
+ to ftp-mailer@informatik.tu-muenchen.de:
252
+
253
+ get /pub/comp/os/os2/archiver/zcrypt29.zip
254
+ quit
255
+
256
+ To get the VMS Zip/UnZip package by e-mail, send the following
257
+ commands in the body of a mail message to fileserv@wku.edu (the
258
+ "HELP" command is also accepted):
259
+
260
+ SEND FILESERV_TOOLS
261
+ SEND UNZIP
262
+ SEND ZIP
263
+
264
+ To get Atari executables by e-mail, send a message to
265
+ atari@atari.archive.umich.edu for information about the mail server.
266
+ __________________________________________________________________________
@@ -0,0 +1,2027 @@
1
+ ZIP(1L) ZIP(1L)
2
+
3
+ NAME
4
+ zip - package and compress (archive) files
5
+
6
+ SYNOPSIS
7
+ zip [-aABcdDeEfFghjklLmoqrRSTuvVwXyz!@$] [--longoption ...] [-b path]
8
+ [-n suffixes] [-t date] [-tt date] [zipfile [file ...]] [-xi list]
9
+
10
+ zipcloak (see separate man page)
11
+
12
+ zipnote (see separate man page)
13
+
14
+ zipsplit (see separate man page)
15
+
16
+ Note: Command line processing in zip has been changed to support long
17
+ options and handle all options and arguments more consistently. Some
18
+ old command lines that depend on command line inconsistencies may no
19
+ longer work.
20
+
21
+ DESCRIPTION
22
+ zip is a compression and file packaging utility for Unix, VMS, MSDOS,
23
+ OS/2, Windows 9x/NT/XP, Minix, Atari, Macintosh, Amiga, and Acorn RISC
24
+ OS. It is analogous to a combination of the Unix commands tar(1) and
25
+ compress(1) and is compatible with PKZIP (Phil Katz's ZIP for MSDOS
26
+ systems).
27
+
28
+ A companion program (unzip(1L)) unpacks zip archives. The zip and
29
+ unzip(1L) programs can work with archives produced by PKZIP (supporting
30
+ most PKZIP features up to PKZIP version 4.6), and PKZIP and PKUNZIP can
31
+ work with archives produced by zip (with some exceptions, notably
32
+ streamed archives, but recent changes in the zip file standard may
33
+ facilitate better compatibility). zip version 3.0 is compatible with
34
+ PKZIP 2.04 and also supports the Zip64 extensions of PKZIP 4.5 which
35
+ allow archives as well as files to exceed the previous 2 GB limit (4 GB
36
+ in some cases). zip also now supports bzip2 compression if the bzip2
37
+ library is included when zip is compiled. Note that PKUNZIP 1.10 can-
38
+ not extract files produced by PKZIP 2.04 or zip 3.0. You must use PKUN-
39
+ ZIP 2.04g or unzip 5.0p1 (or later versions) to extract them.
40
+
41
+ See the EXAMPLES section at the bottom of this page for examples of
42
+ some typical uses of zip.
43
+
44
+ Large Archives and Zip64. zip automatically uses the Zip64 extensions
45
+ when files larger than 4 GB are added to an archive, an archive con-
46
+ taining Zip64 entries is updated (if the resulting archive still needs
47
+ Zip64), the size of the archive will exceed 4 GB, or when the number of
48
+ entries in the archive will exceed about 64K. Zip64 is also used for
49
+ archives streamed from standard input as the size of such archives are
50
+ not known in advance, but the option -fz- can be used to force zip to
51
+ create PKZIP 2 compatible archives (as long as Zip64 extensions are not
52
+ needed). You must use a PKZIP 4.5 compatible unzip, such as unzip 6.0
53
+ or later, to extract files using the Zip64 extensions.
54
+
55
+ In addition, streamed archives, entries encrypted with standard encryp-
56
+ tion, or split archives created with the pause option may not be com-
57
+ patible with PKZIP as data descriptors are used and PKZIP at the time
58
+ of this writing does not support data descriptors (but recent changes
59
+ in the PKWare published zip standard now include some support for the
60
+ data descriptor format zip uses).
61
+
62
+ Mac OS X. Though previous Mac versions had their own zip port, zip
63
+ supports Mac OS X as part of the Unix port and most Unix features
64
+ apply. References to "MacOS" below generally refer to MacOS versions
65
+ older than OS X. Support for some Mac OS features in the Unix Mac OS X
66
+ port, such as resource forks, is expected in the next zip release.
67
+
68
+ For a brief help on zip and unzip, run each without specifying any
69
+ parameters on the command line.
70
+
71
+ USE
72
+ The program is useful for packaging a set of files for distribution;
73
+ for archiving files; and for saving disk space by temporarily compress-
74
+ ing unused files or directories.
75
+
76
+ The zip program puts one or more compressed files into a single zip
77
+ archive, along with information about the files (name, path, date, time
78
+ of last modification, protection, and check information to verify file
79
+ integrity). An entire directory structure can be packed into a zip
80
+ archive with a single command. Compression ratios of 2:1 to 3:1 are
81
+ common for text files. zip has one compression method (deflation) and
82
+ can also store files without compression. (If bzip2 support is added,
83
+ zip can also compress using bzip2 compression, but such entries require
84
+ a reasonably modern unzip to decompress. When bzip2 compression is
85
+ selected, it replaces deflation as the default method.) zip automati-
86
+ cally chooses the better of the two (deflation or store or, if bzip2 is
87
+ selected, bzip2 or store) for each file to be compressed.
88
+
89
+ Command format. The basic command format is
90
+
91
+ zip options archive inpath inpath ...
92
+
93
+ where archive is a new or existing zip archive and inpath is a direc-
94
+ tory or file path optionally including wildcards. When given the name
95
+ of an existing zip archive, zip will replace identically named entries
96
+ in the zip archive (matching the relative names as stored in the
97
+ archive) or add entries for new names. For example, if foo.zip exists
98
+ and contains foo/file1 and foo/file2, and the directory foo contains
99
+ the files foo/file1 and foo/file3, then:
100
+
101
+ zip -r foo.zip foo
102
+
103
+ or more concisely
104
+
105
+ zip -r foo foo
106
+
107
+ will replace foo/file1 in foo.zip and add foo/file3 to foo.zip. After
108
+ this, foo.zip contains foo/file1, foo/file2, and foo/file3, with
109
+ foo/file2 unchanged from before.
110
+
111
+ So if before the zip command is executed foo.zip has:
112
+
113
+ foo/file1 foo/file2
114
+
115
+ and directory foo has:
116
+
117
+ file1 file3
118
+
119
+ then foo.zip will have:
120
+
121
+ foo/file1 foo/file2 foo/file3
122
+
123
+ where foo/file1 is replaced and foo/file3 is new.
124
+
125
+ -@ file lists. If a file list is specified as -@ [Not on MacOS], zip
126
+ takes the list of input files from standard input instead of from the
127
+ command line. For example,
128
+
129
+ zip -@ foo
130
+
131
+ will store the files listed one per line on stdin in foo.zip.
132
+
133
+ Under Unix, this option can be used to powerful effect in conjunction
134
+ with the find (1) command. For example, to archive all the C source
135
+ files in the current directory and its subdirectories:
136
+
137
+ find . -name "*.[ch]" -print | zip source -@
138
+
139
+ (note that the pattern must be quoted to keep the shell from expanding
140
+ it).
141
+
142
+ Streaming input and output. zip will also accept a single dash ("-")
143
+ as the zip file name, in which case it will write the zip file to stan-
144
+ dard output, allowing the output to be piped to another program. For
145
+ example:
146
+
147
+ zip -r - . | dd of=/dev/nrst0 obs=16k
148
+
149
+ would write the zip output directly to a tape with the specified block
150
+ size for the purpose of backing up the current directory.
151
+
152
+ zip also accepts a single dash ("-") as the name of a file to be com-
153
+ pressed, in which case it will read the file from standard input,
154
+ allowing zip to take input from another program. For example:
155
+
156
+ tar cf - . | zip backup -
157
+
158
+ would compress the output of the tar command for the purpose of backing
159
+ up the current directory. This generally produces better compression
160
+ than the previous example using the -r option because zip can take
161
+ advantage of redundancy between files. The backup can be restored using
162
+ the command
163
+
164
+ unzip -p backup | tar xf -
165
+
166
+ When no zip file name is given and stdout is not a terminal, zip acts
167
+ as a filter, compressing standard input to standard output. For exam-
168
+ ple,
169
+
170
+ tar cf - . | zip | dd of=/dev/nrst0 obs=16k
171
+
172
+ is equivalent to
173
+
174
+ tar cf - . | zip - - | dd of=/dev/nrst0 obs=16k
175
+
176
+ zip archives created in this manner can be extracted with the program
177
+ funzip which is provided in the unzip package, or by gunzip which is
178
+ provided in the gzip package (but some gunzip may not support this if
179
+ zip used the Zip64 extensions). For example:
180
+
181
+ dd if=/dev/nrst0 ibs=16k | funzip | tar xvf -
182
+
183
+ The stream can also be saved to a file and unzip used.
184
+
185
+ If Zip64 support for large files and archives is enabled and zip is
186
+ used as a filter, zip creates a Zip64 archive that requires a PKZIP 4.5
187
+ or later compatible unzip to read it. This is to avoid amgibuities in
188
+ the zip file structure as defined in the current zip standard (PKWARE
189
+ AppNote) where the decision to use Zip64 needs to be made before data
190
+ is written for the entry, but for a stream the size of the data is not
191
+ known at that point. If the data is known to be smaller than 4 GB, the
192
+ option -fz- can be used to prevent use of Zip64, but zip will exit with
193
+ an error if Zip64 was in fact needed. zip 3 and unzip 6 and later can
194
+ read archives with Zip64 entries. Also, zip removes the Zip64 exten-
195
+ sions if not needed when archive entries are copied (see the -U
196
+ (--copy) option).
197
+
198
+ When directing the output to another file, note that all options should
199
+ be before the redirection including -x. For example:
200
+
201
+ zip archive "*.h" "*.c" -x donotinclude.h orthis.h > tofile
202
+
203
+ Zip files. When changing an existing zip archive, zip will write a
204
+ temporary file with the new contents, and only replace the old one when
205
+ the process of creating the new version has been completed without
206
+ error.
207
+
208
+ If the name of the zip archive does not contain an extension, the
209
+ extension .zip is added. If the name already contains an extension
210
+ other than .zip, the existing extension is kept unchanged. However,
211
+ split archives (archives split over multiple files) require the .zip
212
+ extension on the last split.
213
+
214
+ Scanning and reading files. When zip starts, it scans for files to
215
+ process (if needed). If this scan takes longer than about 5 seconds,
216
+ zip will display a "Scanning files" message and start displaying
217
+ progress dots every 2 seconds or every so many entries processed,
218
+ whichever takes longer. If there is more than 2 seconds between dots
219
+ it could indicate that finding each file is taking time and could mean
220
+ a slow network connection for example. (Actually the initial file scan
221
+ is a two-step process where the directory scan is followed by a sort
222
+ and these two steps are separated with a space in the dots. If updat-
223
+ ing an existing archive, a space also appears between the existing file
224
+ scan and the new file scan.) The scanning files dots are not con-
225
+ trolled by the -ds dot size option, but the dots are turned off by the
226
+ -q quiet option. The -sf show files option can be used to scan for
227
+ files and get the list of files scanned without actually processing
228
+ them.
229
+
230
+ If zip is not able to read a file, it issues a warning but continues.
231
+ See the -MM option below for more on how zip handles patterns that are
232
+ not matched and files that are not readable. If some files were
233
+ skipped, a warning is issued at the end of the zip operation noting how
234
+ many files were read and how many skipped.
235
+
236
+ Command modes. zip now supports two distinct types of command modes,
237
+ external and internal. The external modes (add, update, and freshen)
238
+ read files from the file system (as well as from an existing archive)
239
+ while the internal modes (delete and copy) operate exclusively on
240
+ entries in an existing archive.
241
+
242
+ add
243
+ Update existing entries and add new files. If the archive does
244
+ not exist create it. This is the default mode.
245
+
246
+ update (-u)
247
+ Update existing entries if newer on the file system and add new
248
+ files. If the archive does not exist issue warning then create
249
+ a new archive.
250
+
251
+ freshen (-f)
252
+ Update existing entries of an archive if newer on the file sys-
253
+ tem. Does not add new files to the archive.
254
+
255
+ delete (-d)
256
+ Select entries in an existing archive and delete them.
257
+
258
+ copy (-U)
259
+ Select entries in an existing archive and copy them to a new
260
+ archive. This new mode is similar to update but command line
261
+ patterns select entries in the existing archive rather than
262
+ files from the file system and it uses the --out option to write
263
+ the resulting archive to a new file rather than update the
264
+ existing archive, leaving the original archive unchanged.
265
+
266
+ The new File Sync option (-FS) is also considered a new mode, though it
267
+ is similar to update. This mode synchronizes the archive with the
268
+ files on the OS, only replacing files in the archive if the file time
269
+ or size of the OS file is different, adding new files, and deleting
270
+ entries from the archive where there is no matching file. As this mode
271
+ can delete entries from the archive, consider making a backup copy of
272
+ the archive.
273
+
274
+ Also see -DF for creating difference archives.
275
+
276
+ See each option description below for details and the EXAMPLES section
277
+ below for examples.
278
+
279
+ Split archives. zip version 3.0 and later can create split archives.
280
+ A split archive is a standard zip archive split over multiple files.
281
+ (Note that split archives are not just archives split in to pieces, as
282
+ the offsets of entries are now based on the start of each split. Con-
283
+ catenating the pieces together will invalidate these offsets, but unzip
284
+ can usually deal with it. zip will usually refuse to process such a
285
+ spliced archive unless the -FF fix option is used to fix the offsets.)
286
+
287
+ One use of split archives is storing a large archive on multiple remov-
288
+ able media. For a split archive with 20 split files the files are typ-
289
+ ically named (replace ARCHIVE with the name of your archive)
290
+ ARCHIVE.z01, ARCHIVE.z02, ..., ARCHIVE.z19, ARCHIVE.zip. Note that the
291
+ last file is the .zip file. In contrast, spanned archives are the
292
+ original multi-disk archive generally requiring floppy disks and using
293
+ volume labels to store disk numbers. zip supports split archives but
294
+ not spanned archives, though a procedure exists for converting split
295
+ archives of the right size to spanned archives. The reverse is also
296
+ true, where each file of a spanned archive can be copied in order to
297
+ files with the above names to create a split archive.
298
+
299
+ Use -s to set the split size and create a split archive. The size is
300
+ given as a number followed optionally by one of k (kB), m (MB), g (GB),
301
+ or t (TB) (the default is m). The -sp option can be used to pause zip
302
+ between splits to allow changing removable media, for example, but read
303
+ the descriptions and warnings for both -s and -sp below.
304
+
305
+ Though zip does not update split archives, zip provides the new option
306
+ -O (--output-file or --out) to allow split archives to be updated and
307
+ saved in a new archive. For example,
308
+
309
+ zip inarchive.zip foo.c bar.c --out outarchive.zip
310
+
311
+ reads archive inarchive.zip, even if split, adds the files foo.c and
312
+ bar.c, and writes the resulting archive to outarchive.zip. If inar-
313
+ chive.zip is split then outarchive.zip defaults to the same split size.
314
+ Be aware that if outarchive.zip and any split files that are created
315
+ with it already exist, these are always overwritten as needed without
316
+ warning. This may be changed in the future.
317
+
318
+ Unicode. Though the zip standard requires storing paths in an archive
319
+ using a specific character set, in practice zips have stored paths in
320
+ archives in whatever the local character set is. This creates problems
321
+ when an archive is created or updated on a system using one character
322
+ set and then extracted on another system using a different character
323
+ set. When compiled with Unicode support enabled on platforms that sup-
324
+ port wide characters, zip now stores, in addition to the standard local
325
+ path for backward compatibility, the UTF-8 translation of the path.
326
+ This provides a common universal character set for storing paths that
327
+ allows these paths to be fully extracted on other systems that support
328
+ Unicode and to match as close as possible on systems that don't.
329
+
330
+ On Win32 systems where paths are internally stored as Unicode but rep-
331
+ resented in the local character set, it's possible that some paths will
332
+ be skipped during a local character set directory scan. zip with Uni-
333
+ code support now can read and store these paths. Note that Win 9x sys-
334
+ tems and FAT file systems don't fully support Unicode.
335
+
336
+ Be aware that console windows on Win32 and Unix, for example, sometimes
337
+ don't accurately show all characters due to how each operating system
338
+ switches in character sets for display. However, directory navigation
339
+ tools should show the correct paths if the needed fonts are loaded.
340
+
341
+ Command line format. This version of zip has updated command line pro-
342
+ cessing and support for long options.
343
+
344
+ Short options take the form
345
+
346
+ -s[-][s[-]...][value][=value][ value]
347
+
348
+ where s is a one or two character short option. A short option that
349
+ takes a value is last in an argument and anything after it is taken as
350
+ the value. If the option can be negated and "-" immediately follows
351
+ the option, the option is negated. Short options can also be given as
352
+ separate arguments
353
+
354
+ -s[-][value][=value][ value] -s[-][value][=value][ value] ...
355
+
356
+ Short options in general take values either as part of the same argu-
357
+ ment or as the following argument. An optional = is also supported.
358
+ So
359
+
360
+ -ttmmddyyyy
361
+
362
+ and
363
+
364
+ -tt=mmddyyyy
365
+
366
+ and
367
+
368
+ -tt mmddyyyy
369
+
370
+ all work. The -x and -i options accept lists of values and use a
371
+ slightly different format described below. See the -x and -i options.
372
+
373
+ Long options take the form
374
+
375
+ --longoption[-][=value][ value]
376
+
377
+ where the option starts with --, has a multicharacter name, can include
378
+ a trailing dash to negate the option (if the option supports it), and
379
+ can have a value (option argument) specified by preceeding it with =
380
+ (no spaces). Values can also follow the argument. So
381
+
382
+ --before-date=mmddyyyy
383
+
384
+ and
385
+
386
+ --before-date mmddyyyy
387
+
388
+ both work.
389
+
390
+ Long option names can be shortened to the shortest unique abbreviation.
391
+ See the option descriptions below for which support long options. To
392
+ avoid confusion, avoid abbreviating a negatable option with an embedded
393
+ dash ("-") at the dash if you plan to negate it (the parser would con-
394
+ sider a trailing dash, such as for the option --some-option using
395
+ --some- as the option, as part of the name rather than a negating
396
+ dash). This may be changed to force the last dash in --some- to be
397
+ negating in the future.
398
+
399
+ OPTIONS
400
+ -a
401
+ --ascii
402
+ [Systems using EBCDIC] Translate file to ASCII format.
403
+
404
+ -A
405
+ --adjust-sfx
406
+ Adjust self-extracting executable archive. A self-extracting
407
+ executable archive is created by prepending the SFX stub to an
408
+ existing archive. The -A option tells zip to adjust the entry
409
+ offsets stored in the archive to take into account this "pream-
410
+ ble" data.
411
+
412
+ Note: self-extracting archives for the Amiga are a special case. At
413
+ present, only the Amiga port of zip is capable of adjusting or updating
414
+ these without corrupting them. -J can be used to remove the SFX stub if
415
+ other updates need to be made.
416
+
417
+ -AC
418
+ --archive-clear
419
+ [WIN32] Once archive is created (and tested if -T is used,
420
+ which is recommended), clear the archive bits of files pro-
421
+ cessed. WARNING: Once the bits are cleared they are cleared.
422
+ You may want to use the -sf show files option to store the list
423
+ of files processed in case the archive operation must be
424
+ repeated. Also consider using the -MM must match option. Be
425
+ sure to check out -DF as a possibly better way to do incremental
426
+ backups.
427
+
428
+ -AS
429
+ --archive-set
430
+ [WIN32] Only include files that have the archive bit set.
431
+ Directories are not stored when -AS is used, though by default
432
+ the paths of entries, including directories, are stored as usual
433
+ and can be used by most unzips to recreate directories.
434
+
435
+ The archive bit is set by the operating system when a file is
436
+ modified and, if used with -AC, -AS can provide an incremental
437
+ backup capability. However, other applications can modify the
438
+ archive bit and it may not be a reliable indicator of which
439
+ files have changed since the last archive operation. Alterna-
440
+ tive ways to create incremental backups are using -t to use file
441
+ dates, though this won't catch old files copied to directories
442
+ being archived, and -DF to create a differential archive.
443
+
444
+ -B
445
+ --binary
446
+ [VM/CMS and MVS] force file to be read binary (default is text).
447
+
448
+ -Bn [TANDEM] set Edit/Enscribe formatting options with n defined as
449
+ bit 0: Don't add delimiter (Edit/Enscribe)
450
+ bit 1: Use LF rather than CR/LF as delimiter (Edit/Enscribe)
451
+ bit 2: Space fill record to maximum record length (Enscribe)
452
+ bit 3: Trim trailing space (Enscribe)
453
+ bit 8: Force 30K (Expand) large read for unstructured files
454
+
455
+ -b path
456
+ --temp-path path
457
+ Use the specified path for the temporary zip archive. For exam-
458
+ ple:
459
+
460
+ zip -b /tmp stuff *
461
+
462
+ will put the temporary zip archive in the directory /tmp, copy-
463
+ ing over stuff.zip to the current directory when done. This
464
+ option is useful when updating an existing archive and the file
465
+ system containing this old archive does not have enough space to
466
+ hold both old and new archives at the same time. It may also be
467
+ useful when streaming in some cases to avoid the need for data
468
+ descriptors. Note that using this option may require zip take
469
+ additional time to copy the archive file when done to the desti-
470
+ nation file system.
471
+
472
+ -c
473
+ --entry-comments
474
+ Add one-line comments for each file. File operations (adding,
475
+ updating) are done first, and the user is then prompted for a
476
+ one-line comment for each file. Enter the comment followed by
477
+ return, or just return for no comment.
478
+
479
+ -C
480
+ --preserve-case
481
+ [VMS] Preserve case all on VMS. Negating this option (-C-)
482
+ downcases.
483
+
484
+ -C2
485
+ --preserve-case-2
486
+ [VMS] Preserve case ODS2 on VMS. Negating this option (-C2-)
487
+ downcases.
488
+
489
+ -C5
490
+ --preserve-case-5
491
+ [VMS] Preserve case ODS5 on VMS. Negating this option (-C5-)
492
+ downcases.
493
+
494
+ -d
495
+ --delete
496
+ Remove (delete) entries from a zip archive. For example:
497
+
498
+ zip -d foo foo/tom/junk foo/harry/\* \*.o
499
+
500
+ will remove the entry foo/tom/junk, all of the files that start
501
+ with foo/harry/, and all of the files that end with .o (in any
502
+ path). Note that shell pathname expansion has been inhibited
503
+ with backslashes, so that zip can see the asterisks, enabling
504
+ zip to match on the contents of the zip archive instead of the
505
+ contents of the current directory. (The backslashes are not
506
+ used on MSDOS-based platforms.) Can also use quotes to escape
507
+ the asterisks as in
508
+
509
+ zip -d foo foo/tom/junk "foo/harry/*" "*.o"
510
+
511
+ Not escaping the asterisks on a system where the shell expands
512
+ wildcards could result in the asterisks being converted to a
513
+ list of files in the current directory and that list used to
514
+ delete entries from the archive.
515
+
516
+ Under MSDOS, -d is case sensitive when it matches names in the
517
+ zip archive. This requires that file names be entered in upper
518
+ case if they were zipped by PKZIP on an MSDOS system. (We con-
519
+ sidered making this case insensitive on systems where paths were
520
+ case insensitive, but it is possible the archive came from a
521
+ system where case does matter and the archive could include both
522
+ Bar and bar as separate files in the archive.) But see the new
523
+ option -ic to ignore case in the archive.
524
+
525
+ -db
526
+ --display-bytes
527
+ Display running byte counts showing the bytes zipped and the
528
+ bytes to go.
529
+
530
+ -dc
531
+ --display-counts
532
+ Display running count of entries zipped and entries to go.
533
+
534
+ -dd
535
+ --display-dots
536
+ Display dots while each entry is zipped (except on ports that
537
+ have their own progress indicator). See -ds below for setting
538
+ dot size. The default is a dot every 10 MB of input file pro-
539
+ cessed. The -v option also displays dots (previously at a much
540
+ higher rate than this but now -v also defaults to 10 MB) and
541
+ this rate is also controlled by -ds.
542
+
543
+ -df
544
+ --datafork
545
+ [MacOS] Include only data-fork of files zipped into the archive.
546
+ Good for exporting files to foreign operating-systems.
547
+ Resource-forks will be ignored at all.
548
+
549
+ -dg
550
+ --display-globaldots
551
+ Display progress dots for the archive instead of for each file.
552
+ The command
553
+
554
+ zip -qdgds 10m
555
+
556
+ will turn off most output except dots every 10 MB.
557
+
558
+ -ds size
559
+ --dot-size size
560
+ Set amount of input file processed for each dot displayed. See
561
+ -dd to enable displaying dots. Setting this option implies -dd.
562
+ Size is in the format nm where n is a number and m is a multi-
563
+ plier. Currently m can be k (KB), m (MB), g (GB), or t (TB), so
564
+ if n is 100 and m is k, size would be 100k which is 100 KB. The
565
+ default is 10 MB.
566
+
567
+ The -v option also displays dots and now defaults to 10 MB also.
568
+ This rate is also controlled by this option. A size of 0 turns
569
+ dots off.
570
+
571
+ This option does not control the dots from the "Scanning files"
572
+ message as zip scans for input files. The dot size for that is
573
+ fixed at 2 seconds or a fixed number of entries, whichever is
574
+ longer.
575
+
576
+ -du
577
+ --display-usize
578
+ Display the uncompressed size of each entry.
579
+
580
+ -dv
581
+ --display-volume
582
+ Display the volume (disk) number each entry is being read from,
583
+ if reading an existing archive, and being written to.
584
+
585
+ -D
586
+ --no-dir-entries
587
+ Do not create entries in the zip archive for directories.
588
+ Directory entries are created by default so that their
589
+ attributes can be saved in the zip archive. The environment
590
+ variable ZIPOPT can be used to change the default options. For
591
+ example under Unix with sh:
592
+
593
+ ZIPOPT="-D"; export ZIPOPT
594
+
595
+ (The variable ZIPOPT can be used for any option, including -i
596
+ and -x using a new option format detailed below, and can include
597
+ several options.) The option -D is a shorthand for -x "*/" but
598
+ the latter previously could not be set as default in the ZIPOPT
599
+ environment variable as the contents of ZIPOPT gets inserted
600
+ near the beginning of the command line and the file list had to
601
+ end at the end of the line.
602
+
603
+ This version of zip does allow -x and -i options in ZIPOPT if
604
+ the form
605
+
606
+ -x file file ... @
607
+
608
+ is used, where the @ (an argument that is just @) terminates the
609
+ list.
610
+
611
+ -DF
612
+ --difference-archive
613
+ Create an archive that contains all new and changed files since
614
+ the original archive was created. For this to work, the input
615
+ file list and current directory must be the same as during the
616
+ original zip operation.
617
+
618
+ For example, if the existing archive was created using
619
+
620
+ zip -r foofull .
621
+
622
+ from the bar directory, then the command
623
+
624
+ zip -r foofull . -DF --out foonew
625
+
626
+ also from the bar directory creates the archive foonew with just
627
+ the files not in foofull and the files where the size or file
628
+ time of the files do not match those in foofull.
629
+
630
+ Note that the timezone environment variable TZ should be set
631
+ according to the local timezone in order for this option to work
632
+ correctly. A change in timezone since the original archive was
633
+ created could result in no times matching and all files being
634
+ included.
635
+
636
+ A possible approach to backing up a directory might be to create
637
+ a normal archive of the contents of the directory as a full
638
+ backup, then use this option to create incremental backups.
639
+
640
+ -e
641
+ --encrypt
642
+ Encrypt the contents of the zip archive using a password which
643
+ is entered on the terminal in response to a prompt (this will
644
+ not be echoed; if standard error is not a tty, zip will exit
645
+ with an error). The password prompt is repeated to save the
646
+ user from typing errors.
647
+
648
+ -E
649
+ --longnames
650
+ [OS/2] Use the .LONGNAME Extended Attribute (if found) as file-
651
+ name.
652
+
653
+ -f
654
+ --freshen
655
+ Replace (freshen) an existing entry in the zip archive only if
656
+ it has been modified more recently than the version already in
657
+ the zip archive; unlike the update option (-u) this will not add
658
+ files that are not already in the zip archive. For example:
659
+
660
+ zip -f foo
661
+
662
+ This command should be run from the same directory from which
663
+ the original zip command was run, since paths stored in zip
664
+ archives are always relative.
665
+
666
+ Note that the timezone environment variable TZ should be set
667
+ according to the local timezone in order for the -f, -u and -o
668
+ options to work correctly.
669
+
670
+ The reasons behind this are somewhat subtle but have to do with
671
+ the differences between the Unix-format file times (always in
672
+ GMT) and most of the other operating systems (always local time)
673
+ and the necessity to compare the two. A typical TZ value is
674
+ ``MET-1MEST'' (Middle European time with automatic adjustment
675
+ for ``summertime'' or Daylight Savings Time).
676
+
677
+ The format is TTThhDDD, where TTT is the time zone such as MET,
678
+ hh is the difference between GMT and local time such as -1
679
+ above, and DDD is the time zone when daylight savings time is in
680
+ effect. Leave off the DDD if there is no daylight savings time.
681
+ For the US Eastern time zone EST5EDT.
682
+
683
+ -F
684
+ --fix
685
+ -FF
686
+ --fixfix
687
+ Fix the zip archive. The -F option can be used if some portions
688
+ of the archive are missing, but requires a reasonably intact
689
+ central directory. The input archive is scanned as usual, but
690
+ zip will ignore some problems. The resulting archive should be
691
+ valid, but any inconsistent entries will be left out.
692
+
693
+ When doubled as in -FF, the archive is scanned from the begin-
694
+ ning and zip scans for special signatures to identify the limits
695
+ between the archive members. The single -F is more reliable if
696
+ the archive is not too much damaged, so try this option first.
697
+
698
+ If the archive is too damaged or the end has been truncated, you
699
+ must use -FF. This is a change from zip 2.32, where the -F
700
+ option is able to read a truncated archive. The -F option now
701
+ more reliably fixes archives with minor damage and the -FF
702
+ option is needed to fix archives where -F might have been suffi-
703
+ cient before.
704
+
705
+ Neither option will recover archives that have been incorrectly
706
+ transferred in ascii mode instead of binary. After the repair,
707
+ the -t option of unzip may show that some files have a bad CRC.
708
+ Such files cannot be recovered; you can remove them from the
709
+ archive using the -d option of zip.
710
+
711
+ Note that -FF may have trouble fixing archives that include an
712
+ embedded zip archive that was stored (without compression) in
713
+ the archive and, depending on the damage, it may find the
714
+ entries in the embedded archive rather than the archive itself.
715
+ Try -F first as it does not have this problem.
716
+
717
+ The format of the fix commands have changed. For example, to
718
+ fix the damaged archive foo.zip,
719
+
720
+ zip -F foo --out foofix
721
+
722
+ tries to read the entries normally, copying good entries to the
723
+ new archive foofix.zip. If this doesn't work, as when the
724
+ archive is truncated, or if some entries you know are in the
725
+ archive are missed, then try
726
+
727
+ zip -FF foo --out foofixfix
728
+
729
+ and compare the resulting archive to the archive created by -F.
730
+ The -FF option may create an inconsistent archive. Depending on
731
+ what is damaged, you can then use the -F option to fix that
732
+ archive.
733
+
734
+ A split archive with missing split files can be fixed using -F
735
+ if you have the last split of the archive (the .zip file). If
736
+ this file is missing, you must use -FF to fix the archive, which
737
+ will prompt you for the splits you have.
738
+
739
+ Currently the fix options can't recover entries that have a bad
740
+ checksum or are otherwise damaged.
741
+
742
+ -FI
743
+ --fifo [Unix] Normally zip skips reading any FIFOs (named pipes)
744
+ encountered, as zip can hang if the FIFO is not being fed. This
745
+ option tells zip to read the contents of any FIFO it finds.
746
+
747
+ -FS
748
+ --filesync
749
+ Synchronize the contents of an archive with the files on the OS.
750
+ Normally when an archive is updated, new files are added and
751
+ changed files are updated but files that no longer exist on the
752
+ OS are not deleted from the archive. This option enables a new
753
+ mode that checks entries in the archive against the file system.
754
+ If the file time and file size of the entry matches that of the
755
+ OS file, the entry is copied from the old archive instead of
756
+ being read from the file system and compressed. If the OS file
757
+ has changed, the entry is read and compressed as usual. If the
758
+ entry in the archive does not match a file on the OS, the entry
759
+ is deleted. Enabling this option should create archives that
760
+ are the same as new archives, but since existing entries are
761
+ copied instead of compressed, updating an existing archive with
762
+ -FS can be much faster than creating a new archive. Also con-
763
+ sider using -u for updating an archive.
764
+
765
+ For this option to work, the archive should be updated from the
766
+ same directory it was created in so the relative paths match.
767
+ If few files are being copied from the old archive, it may be
768
+ faster to create a new archive instead.
769
+
770
+ Note that the timezone environment variable TZ should be set
771
+ according to the local timezone in order for this option to work
772
+ correctly. A change in timezone since the original archive was
773
+ created could result in no times matching and recompression of
774
+ all files.
775
+
776
+ This option deletes files from the archive. If you need to pre-
777
+ serve the original archive, make a copy of the archive first or
778
+ use the --out option to output the updated archive to a new
779
+ file. Even though it may be slower, creating a new archive with
780
+ a new archive name is safer, avoids mismatches between archive
781
+ and OS paths, and is preferred.
782
+
783
+ -g
784
+ --grow
785
+ Grow (append to) the specified zip archive, instead of creating
786
+ a new one. If this operation fails, zip attempts to restore the
787
+ archive to its original state. If the restoration fails, the
788
+ archive might become corrupted. This option is ignored when
789
+ there's no existing archive or when at least one archive member
790
+ must be updated or deleted.
791
+
792
+ -h
793
+ -?
794
+ --help
795
+ Display the zip help information (this also appears if zip is
796
+ run with no arguments).
797
+
798
+ -h2
799
+ --more-help
800
+ Display extended help including more on command line format,
801
+ pattern matching, and more obscure options.
802
+
803
+ -i files
804
+ --include files
805
+ Include only the specified files, as in:
806
+
807
+ zip -r foo . -i \*.c
808
+
809
+ which will include only the files that end in .c in the current
810
+ directory and its subdirectories. (Note for PKZIP users: the
811
+ equivalent command is
812
+
813
+ pkzip -rP foo *.c
814
+
815
+ PKZIP does not allow recursion in directories other than the
816
+ current one.) The backslash avoids the shell filename substitu-
817
+ tion, so that the name matching is performed by zip at all
818
+ directory levels. [This is for Unix and other systems where \
819
+ escapes the next character. For other systems where the shell
820
+ does not process * do not use \ and the above is
821
+
822
+ zip -r foo . -i *.c
823
+
824
+ Examples are for Unix unless otherwise specified.] So to
825
+ include dir, a directory directly under the current directory,
826
+ use
827
+
828
+ zip -r foo . -i dir/\*
829
+
830
+ or
831
+
832
+ zip -r foo . -i "dir/*"
833
+
834
+ to match paths such as dir/a and dir/b/file.c [on ports without
835
+ wildcard expansion in the shell such as MSDOS and Windows
836
+
837
+ zip -r foo . -i dir/*
838
+
839
+ is used.] Note that currently the trailing / is needed for
840
+ directories (as in
841
+
842
+ zip -r foo . -i dir/
843
+
844
+ to include directory dir).
845
+
846
+ The long option form of the first example is
847
+
848
+ zip -r foo . --include \*.c
849
+
850
+ and does the same thing as the short option form.
851
+
852
+ Though the command syntax used to require -i at the end of the
853
+ command line, this version actually allows -i (or --include)
854
+ anywhere. The list of files terminates at the next argument
855
+ starting with -, the end of the command line, or the list termi-
856
+ nator @ (an argument that is just @). So the above can be given
857
+ as
858
+
859
+ zip -i \*.c @ -r foo .
860
+
861
+ for example. There must be a space between the option and the
862
+ first file of a list. For just one file you can use the single
863
+ value form
864
+
865
+ zip -i\*.c -r foo .
866
+
867
+ (no space between option and value) or
868
+
869
+ zip --include=\*.c -r foo .
870
+
871
+ as additional examples. The single value forms are not recom-
872
+ mended because they can be confusing and, in particular, the
873
+ -ifile format can cause problems if the first letter of file
874
+ combines with i to form a two-letter option starting with i.
875
+ Use -sc to see how your command line will be parsed.
876
+
877
+ Also possible:
878
+
879
+ zip -r foo . -i@include.lst
880
+
881
+ which will only include the files in the current directory and
882
+ its subdirectories that match the patterns in the file
883
+ include.lst.
884
+
885
+ Files to -i and -x are patterns matching internal archive paths.
886
+ See -R for more on patterns.
887
+
888
+ -I
889
+ --no-image
890
+ [Acorn RISC OS] Don't scan through Image files. When used, zip
891
+ will not consider Image files (eg. DOS partitions or Spark
892
+ archives when SparkFS is loaded) as directories but will store
893
+ them as single files.
894
+
895
+ For example, if you have SparkFS loaded, zipping a Spark archive
896
+ will result in a zipfile containing a directory (and its con-
897
+ tent) while using the 'I' option will result in a zipfile con-
898
+ taining a Spark archive. Obviously this second case will also be
899
+ obtained (without the 'I' option) if SparkFS isn't loaded.
900
+
901
+ -ic
902
+ --ignore-case
903
+ [VMS, WIN32] Ignore case when matching archive entries. This
904
+ option is only available on systems where the case of files is
905
+ ignored. On systems with case-insensitive file systems, case is
906
+ normally ignored when matching files on the file system but is
907
+ not ignored for -f (freshen), -d (delete), -U (copy), and simi-
908
+ lar modes when matching against archive entries (currently -f
909
+ ignores case on VMS) because archive entries can be from systems
910
+ where case does matter and names that are the same except for
911
+ case can exist in an archive. The -ic option makes all matching
912
+ case insensitive. This can result in multiple archive entries
913
+ matching a command line pattern.
914
+
915
+ -j
916
+ --junk-paths
917
+ Store just the name of a saved file (junk the path), and do not
918
+ store directory names. By default, zip will store the full path
919
+ (relative to the current directory).
920
+
921
+ -jj
922
+ --absolute-path
923
+ [MacOS] record Fullpath (+ Volname). The complete path including
924
+ volume will be stored. By default the relative path will be
925
+ stored.
926
+
927
+ -J
928
+ --junk-sfx
929
+ Strip any prepended data (e.g. a SFX stub) from the archive.
930
+
931
+ -k
932
+ --DOS-names
933
+ Attempt to convert the names and paths to conform to MSDOS,
934
+ store only the MSDOS attribute (just the user write attribute
935
+ from Unix), and mark the entry as made under MSDOS (even though
936
+ it was not); for compatibility with PKUNZIP under MSDOS which
937
+ cannot handle certain names such as those with two dots.
938
+
939
+ -l
940
+ --to-crlf
941
+ Translate the Unix end-of-line character LF into the MSDOS con-
942
+ vention CR LF. This option should not be used on binary files.
943
+ This option can be used on Unix if the zip file is intended for
944
+ PKUNZIP under MSDOS. If the input files already contain CR LF,
945
+ this option adds an extra CR. This is to ensure that unzip -a on
946
+ Unix will get back an exact copy of the original file, to undo
947
+ the effect of zip -l. See -ll for how binary files are handled.
948
+
949
+ -la
950
+ --log-append
951
+ Append to existing logfile. Default is to overwrite.
952
+
953
+ -lf logfilepath
954
+ --logfile-path logfilepath
955
+ Open a logfile at the given path. By default any existing file
956
+ at that location is overwritten, but the -la option will result
957
+ in an existing file being opened and the new log information
958
+ appended to any existing information. Only warnings and errors
959
+ are written to the log unless the -li option is also given, then
960
+ all information messages are also written to the log.
961
+
962
+ -li
963
+ --log-info
964
+ Include information messages, such as file names being zipped,
965
+ in the log. The default is to only include the command line,
966
+ any warnings and errors, and the final status.
967
+
968
+ -ll
969
+ --from-crlf
970
+ Translate the MSDOS end-of-line CR LF into Unix LF. This option
971
+ should not be used on binary files. This option can be used on
972
+ MSDOS if the zip file is intended for unzip under Unix. If the
973
+ file is converted and the file is later determined to be binary
974
+ a warning is issued and the file is probably corrupted. In this
975
+ release if -ll detects binary in the first buffer read from a
976
+ file, zip now issues a warning and skips line end conversion on
977
+ the file. This check seems to catch all binary files tested,
978
+ but the original check remains and if a converted file is later
979
+ determined to be binary that warning is still issued. A new
980
+ algorithm is now being used for binary detection that should
981
+ allow line end conversion of text files in UTF-8 and similar
982
+ encodings.
983
+
984
+ -L
985
+ --license
986
+ Display the zip license.
987
+
988
+ -m
989
+ --move
990
+ Move the specified files into the zip archive; actually, this
991
+ deletes the target directories/files after making the specified
992
+ zip archive. If a directory becomes empty after removal of the
993
+ files, the directory is also removed. No deletions are done
994
+ until zip has created the archive without error. This is useful
995
+ for conserving disk space, but is potentially dangerous so it is
996
+ recommended to use it in combination with -T to test the archive
997
+ before removing all input files.
998
+
999
+ -MM
1000
+ --must-match
1001
+ All input patterns must match at least one file and all input
1002
+ files found must be readable. Normally when an input pattern
1003
+ does not match a file the "name not matched" warning is issued
1004
+ and when an input file has been found but later is missing or
1005
+ not readable a missing or not readable warning is issued. In
1006
+ either case zip continues creating the archive, with missing or
1007
+ unreadable new files being skipped and files already in the
1008
+ archive remaining unchanged. After the archive is created, if
1009
+ any files were not readable zip returns the OPEN error code (18
1010
+ on most systems) instead of the normal success return (0 on most
1011
+ systems). With -MM set, zip exits as soon as an input pattern
1012
+ is not matched (whenever the "name not matched" warning would be
1013
+ issued) or when an input file is not readable. In either case
1014
+ zip exits with an OPEN error and no archive is created.
1015
+
1016
+ This option is useful when a known list of files is to be zipped
1017
+ so any missing or unreadable files will result in an error. It
1018
+ is less useful when used with wildcards, but zip will still exit
1019
+ with an error if any input pattern doesn't match at least one
1020
+ file and if any matched files are unreadable. If you want to
1021
+ create the archive anyway and only need to know if files were
1022
+ skipped, don't use -MM and just check the return code. Also -lf
1023
+ could be useful.
1024
+
1025
+ -n suffixes
1026
+ --suffixes suffixes
1027
+ Do not attempt to compress files named with the given suffixes.
1028
+ Such files are simply stored (0% compression) in the output zip
1029
+ file, so that zip doesn't waste its time trying to compress
1030
+ them. The suffixes are separated by either colons or semi-
1031
+ colons. For example:
1032
+
1033
+ zip -rn .Z:.zip:.tiff:.gif:.snd foo foo
1034
+
1035
+ will copy everything from foo into foo.zip, but will store any
1036
+ files that end in .Z, .zip, .tiff, .gif, or .snd without trying
1037
+ to compress them (image and sound files often have their own
1038
+ specialized compression methods). By default, zip does not com-
1039
+ press files with extensions in the list
1040
+ .Z:.zip:.zoo:.arc:.lzh:.arj. Such files are stored directly in
1041
+ the output archive. The environment variable ZIPOPT can be used
1042
+ to change the default options. For example under Unix with csh:
1043
+
1044
+ setenv ZIPOPT "-n .gif:.zip"
1045
+
1046
+ To attempt compression on all files, use:
1047
+
1048
+ zip -n : foo
1049
+
1050
+ The maximum compression option -9 also attempts compression on
1051
+ all files regardless of extension.
1052
+
1053
+ On Acorn RISC OS systems the suffixes are actually filetypes (3
1054
+ hex digit format). By default, zip does not compress files with
1055
+ filetypes in the list DDC:D96:68E (i.e. Archives, CFS files and
1056
+ PackDir files).
1057
+
1058
+ -nw
1059
+ --no-wild
1060
+ Do not perform internal wildcard processing (shell processing of
1061
+ wildcards is still done by the shell unless the arguments are
1062
+ escaped). Useful if a list of paths is being read and no wild-
1063
+ card substitution is desired.
1064
+
1065
+ -N
1066
+ --notes
1067
+ [Amiga, MacOS] Save Amiga or MacOS filenotes as zipfile com-
1068
+ ments. They can be restored by using the -N option of unzip. If
1069
+ -c is used also, you are prompted for comments only for those
1070
+ files that do not have filenotes.
1071
+
1072
+ -o
1073
+ --latest-time
1074
+ Set the "last modified" time of the zip archive to the latest
1075
+ (oldest) "last modified" time found among the entries in the zip
1076
+ archive. This can be used without any other operations, if
1077
+ desired. For example:
1078
+
1079
+ zip -o foo
1080
+
1081
+ will change the last modified time of foo.zip to the latest time
1082
+ of the entries in foo.zip.
1083
+
1084
+ -O output-file
1085
+ --output-file output-file
1086
+ Process the archive changes as usual, but instead of updating
1087
+ the existing archive, output the new archive to output-file.
1088
+ Useful for updating an archive without changing the existing
1089
+ archive and the input archive must be a different file than the
1090
+ output archive.
1091
+
1092
+ This option can be used to create updated split archives. It
1093
+ can also be used with -U to copy entries from an existing
1094
+ archive to a new archive. See the EXAMPLES section below.
1095
+
1096
+ Another use is converting zip files from one split size to
1097
+ another. For instance, to convert an archive with 700 MB CD
1098
+ splits to one with 2 GB DVD splits, can use:
1099
+
1100
+ zip -s 2g cd-split.zip --out dvd-split.zip
1101
+
1102
+ which uses copy mode. See -U below. Also:
1103
+
1104
+ zip -s 0 split.zip --out unsplit.zip
1105
+
1106
+ will convert a split archive to a single-file archive.
1107
+
1108
+ Copy mode will convert stream entries (using data descriptors
1109
+ and which should be compatible with most unzips) to normal
1110
+ entries (which should be compatible with all unzips), except if
1111
+ standard encryption was used. For archives with encrypted
1112
+ entries, zipcloak will decrypt the entries and convert them to
1113
+ normal entries.
1114
+
1115
+ -p
1116
+ --paths
1117
+ Include relative file paths as part of the names of files stored
1118
+ in the archive. This is the default. The -j option junks the
1119
+ paths and just stores the names of the files.
1120
+
1121
+ -P password
1122
+ --password password
1123
+ Use password to encrypt zipfile entries (if any). THIS IS INSE-
1124
+ CURE! Many multi-user operating systems provide ways for any
1125
+ user to see the current command line of any other user; even on
1126
+ stand-alone systems there is always the threat of over-the-
1127
+ shoulder peeking. Storing the plaintext password as part of a
1128
+ command line in an automated script is even worse. Whenever
1129
+ possible, use the non-echoing, interactive prompt to enter pass-
1130
+ words. (And where security is truly important, use strong
1131
+ encryption such as Pretty Good Privacy instead of the relatively
1132
+ weak standard encryption provided by zipfile utilities.)
1133
+
1134
+ -q
1135
+ --quiet
1136
+ Quiet mode; eliminate informational messages and comment
1137
+ prompts. (Useful, for example, in shell scripts and background
1138
+ tasks).
1139
+
1140
+ -Qn
1141
+ --Q-flag n
1142
+ [QDOS] store information about the file in the file header with
1143
+ n defined as
1144
+ bit 0: Don't add headers for any file
1145
+ bit 1: Add headers for all files
1146
+ bit 2: Don't wait for interactive key press on exit
1147
+
1148
+ -r
1149
+ --recurse-paths
1150
+ Travel the directory structure recursively; for example:
1151
+
1152
+ zip -r foo.zip foo
1153
+
1154
+ or more concisely
1155
+
1156
+ zip -r foo foo
1157
+
1158
+ In this case, all the files and directories in foo are saved in
1159
+ a zip archive named foo.zip, including files with names starting
1160
+ with ".", since the recursion does not use the shell's file-name
1161
+ substitution mechanism. If you wish to include only a specific
1162
+ subset of the files in directory foo and its subdirectories, use
1163
+ the -i option to specify the pattern of files to be included.
1164
+ You should not use -r with the name ".*", since that matches
1165
+ ".." which will attempt to zip up the parent directory (proba-
1166
+ bly not what was intended).
1167
+
1168
+ Multiple source directories are allowed as in
1169
+
1170
+ zip -r foo foo1 foo2
1171
+
1172
+ which first zips up foo1 and then foo2, going down each direc-
1173
+ tory.
1174
+
1175
+ Note that while wildcards to -r are typically resolved while
1176
+ recursing down directories in the file system, any -R, -x, and
1177
+ -i wildcards are applied to internal archive pathnames once the
1178
+ directories are scanned. To have wildcards apply to files in
1179
+ subdirectories when recursing on Unix and similar systems where
1180
+ the shell does wildcard substitution, either escape all wild-
1181
+ cards or put all arguments with wildcards in quotes. This lets
1182
+ zip see the wildcards and match files in subdirectories using
1183
+ them as it recurses.
1184
+
1185
+ -R
1186
+ --recurse-patterns
1187
+ Travel the directory structure recursively starting at the cur-
1188
+ rent directory; for example:
1189
+
1190
+ zip -R foo "*.c"
1191
+
1192
+ In this case, all the files matching *.c in the tree starting at
1193
+ the current directory are stored into a zip archive named
1194
+ foo.zip. Note that *.c will match file.c, a/file.c and a/b/.c.
1195
+ More than one pattern can be listed as separate arguments. Note
1196
+ for PKZIP users: the equivalent command is
1197
+
1198
+ pkzip -rP foo *.c
1199
+
1200
+ Patterns are relative file paths as they appear in the archive,
1201
+ or will after zipping, and can have optional wildcards in them.
1202
+ For example, given the current directory is foo and under it are
1203
+ directories foo1 and foo2 and in foo1 is the file bar.c,
1204
+
1205
+ zip -R foo/*
1206
+
1207
+ will zip up foo, foo/foo1, foo/foo1/bar.c, and foo/foo2.
1208
+
1209
+ zip -R */bar.c
1210
+
1211
+ will zip up foo/foo1/bar.c. See the note for -r on escaping
1212
+ wildcards.
1213
+
1214
+ -RE
1215
+ --regex
1216
+ [WIN32] Before zip 3.0, regular expression list matching was
1217
+ enabled by default on Windows platforms. Because of confusion
1218
+ resulting from the need to escape "[" and "]" in names, it is
1219
+ now off by default for Windows so "[" and "]" are just normal
1220
+ characters in names. This option enables [] matching again.
1221
+
1222
+ -s splitsize
1223
+ --split-size splitsize
1224
+ Enable creating a split archive and set the split size. A split
1225
+ archive is an archive that could be split over many files. As
1226
+ the archive is created, if the size of the archive reaches the
1227
+ specified split size, that split is closed and the next split
1228
+ opened. In general all splits but the last will be the split
1229
+ size and the last will be whatever is left. If the entire
1230
+ archive is smaller than the split size a single-file archive is
1231
+ created.
1232
+
1233
+ Split archives are stored in numbered files. For example, if
1234
+ the output archive is named archive and three splits are
1235
+ required, the resulting archive will be in the three files
1236
+ archive.z01, archive.z02, and archive.zip. Do not change the
1237
+ numbering of these files or the archive will not be readable as
1238
+ these are used to determine the order the splits are read.
1239
+
1240
+ Split size is a number optionally followed by a multiplier.
1241
+ Currently the number must be an integer. The multiplier can
1242
+ currently be one of k (kilobytes), m (megabytes), g (gigabytes),
1243
+ or t (terabytes). As 64k is the minimum split size, numbers
1244
+ without multipliers default to megabytes. For example, to cre-
1245
+ ate a split archive called foo with the contents of the bar
1246
+ directory with splits of 670 MB that might be useful for burning
1247
+ on CDs, the command:
1248
+
1249
+ zip -s 670m -r foo bar
1250
+
1251
+ could be used.
1252
+
1253
+ Currently the old splits of a split archive are not excluded
1254
+ from a new archive, but they can be specifically excluded. If
1255
+ possible, keep the input and output archives out of the path
1256
+ being zipped when creating split archives.
1257
+
1258
+ Using -s without -sp as above creates all the splits where foo
1259
+ is being written, in this case the current directory. This
1260
+ split mode updates the splits as the archive is being created,
1261
+ requiring all splits to remain writable, but creates split
1262
+ archives that are readable by any unzip that supports split
1263
+ archives. See -sp below for enabling split pause mode which
1264
+ allows splits to be written directly to removable media.
1265
+
1266
+ The option -sv can be used to enable verbose splitting and pro-
1267
+ vide details of how the splitting is being done. The -sb option
1268
+ can be used to ring the bell when zip pauses for the next split
1269
+ destination.
1270
+
1271
+ Split archives cannot be updated, but see the -O (--out) option
1272
+ for how a split archive can be updated as it is copied to a new
1273
+ archive. A split archive can also be converted into a single-
1274
+ file archive using a split size of 0 or negating the -s option:
1275
+
1276
+ zip -s 0 split.zip --out single.zip
1277
+
1278
+ Also see -U (--copy) for more on using copy mode.
1279
+
1280
+ -sb
1281
+ --split-bell
1282
+ If splitting and using split pause mode, ring the bell when zip
1283
+ pauses for each split destination.
1284
+
1285
+ -sc
1286
+ --show-command
1287
+ Show the command line starting zip as processed and exit. The
1288
+ new command parser permutes the arguments, putting all options
1289
+ and any values associated with them before any non-option argu-
1290
+ ments. This allows an option to appear anywhere in the command
1291
+ line as long as any values that go with the option go with it.
1292
+ This option displays the command line as zip sees it, including
1293
+ any arguments from the environment such as from the ZIPOPT vari-
1294
+ able. Where allowed, options later in the command line can
1295
+ override options earlier in the command line.
1296
+
1297
+ -sf
1298
+ --show-files
1299
+ Show the files that would be operated on, then exit. For
1300
+ instance, if creating a new archive, this will list the files
1301
+ that would be added. If the option is negated, -sf-, output
1302
+ only to an open log file. Screen display is not recommended for
1303
+ large lists.
1304
+
1305
+ -so
1306
+ --show-options
1307
+ Show all available options supported by zip as compiled on the
1308
+ current system. As this command reads the option table, it
1309
+ should include all options. Each line includes the short option
1310
+ (if defined), the long option (if defined), the format of any
1311
+ value that goes with the option, if the option can be negated,
1312
+ and a small description. The value format can be no value,
1313
+ required value, optional value, single character value, number
1314
+ value, or a list of values. The output of this option is not
1315
+ intended to show how to use any option but only show what
1316
+ options are available.
1317
+
1318
+ -sp
1319
+ --split-pause
1320
+ If splitting is enabled with -s, enable split pause mode. This
1321
+ creates split archives as -s does, but stream writing is used so
1322
+ each split can be closed as soon as it is written and zip will
1323
+ pause between each split to allow changing split destination or
1324
+ media.
1325
+
1326
+ Though this split mode allows writing splits directly to remov-
1327
+ able media, it uses stream archive format that may not be read-
1328
+ able by some unzips. Before relying on splits created with -sp,
1329
+ test a split archive with the unzip you will be using.
1330
+
1331
+ To convert a stream split archive (created with -sp) to a stan-
1332
+ dard archive see the --out option.
1333
+
1334
+ -su
1335
+ --show-unicode
1336
+ As -sf, but also show Unicode version of the path if exists.
1337
+
1338
+ -sU
1339
+ --show-just-unicode
1340
+ As -sf, but only show Unicode version of the path if exists,
1341
+ otherwise show the standard version of the path.
1342
+
1343
+ -sv
1344
+ --split-verbose
1345
+ Enable various verbose messages while splitting, showing how the
1346
+ splitting is being done.
1347
+
1348
+ -S
1349
+ --system-hidden
1350
+ [MSDOS, OS/2, WIN32 and ATARI] Include system and hidden files.
1351
+ [MacOS] Includes finder invisible files, which are ignored oth-
1352
+ erwise.
1353
+
1354
+ -t mmddyyyy
1355
+ --from-date mmddyyyy
1356
+ Do not operate on files modified prior to the specified date,
1357
+ where mm is the month (00-12), dd is the day of the month
1358
+ (01-31), and yyyy is the year. The ISO 8601 date format
1359
+ yyyy-mm-dd is also accepted. For example:
1360
+
1361
+ zip -rt 12071991 infamy foo
1362
+
1363
+ zip -rt 1991-12-07 infamy foo
1364
+
1365
+ will add all the files in foo and its subdirectories that were
1366
+ last modified on or after 7 December 1991, to the zip archive
1367
+ infamy.zip.
1368
+
1369
+ -tt mmddyyyy
1370
+ --before-date mmddyyyy
1371
+ Do not operate on files modified after or at the specified date,
1372
+ where mm is the month (00-12), dd is the day of the month
1373
+ (01-31), and yyyy is the year. The ISO 8601 date format
1374
+ yyyy-mm-dd is also accepted. For example:
1375
+
1376
+ zip -rtt 11301995 infamy foo
1377
+
1378
+ zip -rtt 1995-11-30 infamy foo
1379
+
1380
+ will add all the files in foo and its subdirectories that were
1381
+ last modified before 30 November 1995, to the zip archive
1382
+ infamy.zip.
1383
+
1384
+ -T
1385
+ --test
1386
+ Test the integrity of the new zip file. If the check fails, the
1387
+ old zip file is unchanged and (with the -m option) no input
1388
+ files are removed.
1389
+
1390
+ -TT cmd
1391
+ --unzip-command cmd
1392
+ Use command cmd instead of 'unzip -tqq' to test an archive when
1393
+ the -T option is used. On Unix, to use a copy of unzip in the
1394
+ current directory instead of the standard system unzip, could
1395
+ use:
1396
+
1397
+ zip archive file1 file2 -T -TT "./unzip -tqq"
1398
+
1399
+ In cmd, {} is replaced by the name of the temporary archive,
1400
+ otherwise the name of the archive is appended to the end of the
1401
+ command. The return code is checked for success (0 on Unix).
1402
+
1403
+ -u
1404
+ --update
1405
+ Replace (update) an existing entry in the zip archive only if it
1406
+ has been modified more recently than the version already in the
1407
+ zip archive. For example:
1408
+
1409
+ zip -u stuff *
1410
+
1411
+ will add any new files in the current directory, and update any
1412
+ files which have been modified since the zip archive stuff.zip
1413
+ was last created/modified (note that zip will not try to pack
1414
+ stuff.zip into itself when you do this).
1415
+
1416
+ Note that the -u option with no input file arguments acts like
1417
+ the -f (freshen) option.
1418
+
1419
+ -U
1420
+ --copy-entries
1421
+ Copy entries from one archive to another. Requires the --out
1422
+ option to specify a different output file than the input
1423
+ archive. Copy mode is the reverse of -d delete. When delete is
1424
+ being used with --out, the selected entries are deleted from the
1425
+ archive and all other entries are copied to the new archive,
1426
+ while copy mode selects the files to include in the new archive.
1427
+ Unlike -u update, input patterns on the command line are matched
1428
+ against archive entries only and not the file system files. For
1429
+ instance,
1430
+
1431
+ zip inarchive "*.c" --copy --out outarchive
1432
+
1433
+ copies entries with names ending in .c from inarchive to out-
1434
+ archive. The wildcard must be escaped on some systems to pre-
1435
+ vent the shell from substituting names of files from the file
1436
+ system which may have no relevance to the entries in the
1437
+ archive.
1438
+
1439
+ If no input files appear on the command line and --out is used,
1440
+ copy mode is assumed:
1441
+
1442
+ zip inarchive --out outarchive
1443
+
1444
+ This is useful for changing split size for instance. Encrypting
1445
+ and decrypting entries is not yet supported using copy mode.
1446
+ Use zipcloak for that.
1447
+
1448
+ -UN v
1449
+ --unicode v
1450
+ Determine what zip should do with Unicode file names. zip 3.0,
1451
+ in addition to the standard file path, now includes the UTF-8
1452
+ translation of the path if the entry path is not entirely 7-bit
1453
+ ASCII. When an entry is missing the Unicode path, zip reverts
1454
+ back to the standard file path. The problem with using the
1455
+ standard path is this path is in the local character set of the
1456
+ zip that created the entry, which may contain characters that
1457
+ are not valid in the character set being used by the unzip.
1458
+ When zip is reading an archive, if an entry also has a Unicode
1459
+ path, zip now defaults to using the Unicode path to recreate the
1460
+ standard path using the current local character set.
1461
+
1462
+ This option can be used to determine what zip should do with
1463
+ this path if there is a mismatch between the stored standard
1464
+ path and the stored UTF-8 path (which can happen if the standard
1465
+ path was updated). In all cases, if there is a mismatch it is
1466
+ assumed that the standard path is more current and zip uses
1467
+ that. Values for v are
1468
+
1469
+ q - quit if paths do not match
1470
+
1471
+ w - warn, continue with standard path
1472
+
1473
+ i - ignore, continue with standard path
1474
+
1475
+ n - no Unicode, do not use Unicode paths
1476
+
1477
+ The default is to warn and continue.
1478
+
1479
+ Characters that are not valid in the current character set are
1480
+ escaped as #Uxxxx and #Lxxxxxx, where x is an ASCII character
1481
+ for a hex digit. The first is used if a 16-bit character number
1482
+ is sufficient to represent the Unicode character and the second
1483
+ if the character needs more than 16 bits to represent it's Uni-
1484
+ code character code. Setting -UN to
1485
+
1486
+ e - escape
1487
+
1488
+ as in
1489
+
1490
+ zip archive -sU -UN=e
1491
+
1492
+ forces zip to escape all characters that are not printable 7-bit
1493
+ ASCII.
1494
+
1495
+ Normally zip stores UTF-8 directly in the standard path field on
1496
+ systems where UTF-8 is the current character set and stores the
1497
+ UTF-8 in the new extra fields otherwise. The option
1498
+
1499
+ u - UTF-8
1500
+
1501
+ as in
1502
+
1503
+ zip archive dir -r -UN=UTF8
1504
+
1505
+ forces zip to store UTF-8 as native in the archive. Note that
1506
+ storing UTF-8 directly is the default on Unix systems that sup-
1507
+ port it. This option could be useful on Windows systems where
1508
+ the escaped path is too large to be a valid path and the UTF-8
1509
+ version of the path is smaller, but native UTF-8 is not backward
1510
+ compatible on Windows systems.
1511
+
1512
+ -v
1513
+ --verbose
1514
+ Verbose mode or print diagnostic version info.
1515
+
1516
+ Normally, when applied to real operations, this option enables
1517
+ the display of a progress indicator during compression (see -dd
1518
+ for more on dots) and requests verbose diagnostic info about
1519
+ zipfile structure oddities.
1520
+
1521
+ However, when -v is the only command line argument a diagnostic
1522
+ screen is printed instead. This should now work even if stdout
1523
+ is redirected to a file, allowing easy saving of the information
1524
+ for sending with bug reports to Info-ZIP. The version screen
1525
+ provides the help screen header with program name, version, and
1526
+ release date, some pointers to the Info-ZIP home and distribu-
1527
+ tion sites, and shows information about the target environment
1528
+ (compiler type and version, OS version, compilation date and the
1529
+ enabled optional features used to create the zip executable).
1530
+
1531
+ -V
1532
+ --VMS-portable
1533
+ [VMS] Save VMS file attributes. (Files are truncated at EOF.)
1534
+ When a -V archive is unpacked on a non-VMS system, some file
1535
+ types (notably Stream_LF text files and pure binary files
1536
+ like fixed-512) should be extracted intact. Indexed files and
1537
+ file types with embedded record sizes (notably variable-length
1538
+ record types) will probably be seen as corrupt elsewhere.
1539
+
1540
+ -VV
1541
+ --VMS-specific
1542
+ [VMS] Save VMS file attributes, and all allocated blocks in a
1543
+ file, including any data beyond EOF. Useful for moving ill-
1544
+ formed files among VMS systems. When a -VV archive is
1545
+ unpacked on a non-VMS system, almost all files will appear cor-
1546
+ rupt.
1547
+
1548
+ -w
1549
+ --VMS-versions
1550
+ [VMS] Append the version number of the files to the name,
1551
+ including multiple versions of files. Default is to use only
1552
+ the most recent version of a specified file.
1553
+
1554
+ -ww
1555
+ --VMS-dot-versions
1556
+ [VMS] Append the version number of the files to the name,
1557
+ including multiple versions of files, using the .nnn format.
1558
+ Default is to use only the most recent version of a specified
1559
+ file.
1560
+
1561
+ -ws
1562
+ --wild-stop-dirs
1563
+ Wildcards match only at a directory level. Normally zip handles
1564
+ paths as strings and given the paths
1565
+
1566
+ /foo/bar/dir/file1.c
1567
+
1568
+ /foo/bar/file2.c
1569
+
1570
+ an input pattern such as
1571
+
1572
+ /foo/bar/*
1573
+
1574
+ normally would match both paths, the * matching dir/file1.c and
1575
+ file2.c. Note that in the first case a directory boundary (/)
1576
+ was crossed in the match. With -ws no directory bounds will be
1577
+ included in the match, making wildcards local to a specific
1578
+ directory level. So, with -ws enabled, only the second path
1579
+ would be matched.
1580
+
1581
+ When using -ws, use ** to match across directory boundaries as *
1582
+ does normally.
1583
+
1584
+ -x files
1585
+ --exclude files
1586
+ Explicitly exclude the specified files, as in:
1587
+
1588
+ zip -r foo foo -x \*.o
1589
+
1590
+ which will include the contents of foo in foo.zip while exclud-
1591
+ ing all the files that end in .o. The backslash avoids the
1592
+ shell filename substitution, so that the name matching is per-
1593
+ formed by zip at all directory levels.
1594
+
1595
+ Also possible:
1596
+
1597
+ zip -r foo foo -x@exclude.lst
1598
+
1599
+ which will include the contents of foo in foo.zip while exclud-
1600
+ ing all the files that match the patterns in the file
1601
+ exclude.lst.
1602
+
1603
+ The long option forms of the above are
1604
+
1605
+ zip -r foo foo --exclude \*.o
1606
+
1607
+ and
1608
+
1609
+ zip -r foo foo --exclude @exclude.lst
1610
+
1611
+ Multiple patterns can be specified, as in:
1612
+
1613
+ zip -r foo foo -x \*.o \*.c
1614
+
1615
+ If there is no space between -x and the pattern, just one value
1616
+ is assumed (no list):
1617
+
1618
+ zip -r foo foo -x\*.o
1619
+
1620
+ See -i for more on include and exclude.
1621
+
1622
+ -X
1623
+ --no-extra
1624
+ Do not save extra file attributes (Extended Attributes on OS/2,
1625
+ uid/gid and file times on Unix). The zip format uses extra
1626
+ fields to include additional information for each entry. Some
1627
+ extra fields are specific to particular systems while others are
1628
+ applicable to all systems. Normally when zip reads entries from
1629
+ an existing archive, it reads the extra fields it knows, strips
1630
+ the rest, and adds the extra fields applicable to that system.
1631
+ With -X, zip strips all old fields and only includes the Unicode
1632
+ and Zip64 extra fields (currently these two extra fields cannot
1633
+ be disabled).
1634
+
1635
+ Negating this option, -X-, includes all the default extra
1636
+ fields, but also copies over any unrecognized extra fields.
1637
+
1638
+ -y
1639
+ --symlinks
1640
+ For UNIX and VMS (V8.3 and later), store symbolic links as such
1641
+ in the zip archive, instead of compressing and storing the file
1642
+ referred to by the link. This can avoid multiple copies of
1643
+ files being included in the archive as zip recurses the direc-
1644
+ tory trees and accesses files directly and by links.
1645
+
1646
+ -z
1647
+ --archive-comment
1648
+ Prompt for a multi-line comment for the entire zip archive. The
1649
+ comment is ended by a line containing just a period, or an end
1650
+ of file condition (^D on Unix, ^Z on MSDOS, OS/2, and VMS). The
1651
+ comment can be taken from a file:
1652
+
1653
+ zip -z foo < foowhat
1654
+
1655
+ -Z cm
1656
+ --compression-method cm
1657
+ Set the default compression method. Currently the main methods
1658
+ supported by zip are store and deflate. Compression method can
1659
+ be set to:
1660
+
1661
+ store - Setting the compression method to store forces zip to
1662
+ store entries with no compression. This is generally faster
1663
+ than compressing entries, but results in no space savings. This
1664
+ is the same as using -0 (compression level zero).
1665
+
1666
+ deflate - This is the default method for zip. If zip determines
1667
+ that storing is better than deflation, the entry will be stored
1668
+ instead.
1669
+
1670
+ bzip2 - If bzip2 support is compiled in, this compression method
1671
+ also becomes available. Only some modern unzips currently sup-
1672
+ port the bzip2 compression method, so test the unzip you will be
1673
+ using before relying on archives using this method (compression
1674
+ method 12).
1675
+
1676
+ For example, to add bar.c to archive foo using bzip2 compres-
1677
+ sion:
1678
+
1679
+ zip -Z bzip2 foo bar.c
1680
+
1681
+ The compression method can be abbreviated:
1682
+
1683
+ zip -Zb foo bar.c
1684
+
1685
+ -#
1686
+ (-0, -1, -2, -3, -4, -5, -6, -7, -8, -9)
1687
+ Regulate the speed of compression using the specified digit #,
1688
+ where -0 indicates no compression (store all files), -1 indi-
1689
+ cates the fastest compression speed (less compression) and -9
1690
+ indicates the slowest compression speed (optimal compression,
1691
+ ignores the suffix list). The default compression level is -6.
1692
+
1693
+ Though still being worked, the intention is this setting will
1694
+ control compression speed for all compression methods. Cur-
1695
+ rently only deflation is controlled.
1696
+
1697
+ -!
1698
+ --use-privileges
1699
+ [WIN32] Use priviliges (if granted) to obtain all aspects of
1700
+ WinNT security.
1701
+
1702
+ -@
1703
+ --names-stdin
1704
+ Take the list of input files from standard input. Only one file-
1705
+ name per line.
1706
+
1707
+ -$
1708
+ --volume-label
1709
+ [MSDOS, OS/2, WIN32] Include the volume label for the drive
1710
+ holding the first file to be compressed. If you want to include
1711
+ only the volume label or to force a specific drive, use the
1712
+ drive name as first file name, as in:
1713
+
1714
+ zip -$ foo a: c:bar
1715
+
1716
+ EXAMPLES
1717
+ The simplest example:
1718
+
1719
+ zip stuff *
1720
+
1721
+ creates the archive stuff.zip (assuming it does not exist) and puts all
1722
+ the files in the current directory in it, in compressed form (the .zip
1723
+ suffix is added automatically, unless the archive name contains a dot
1724
+ already; this allows the explicit specification of other suffixes).
1725
+
1726
+ Because of the way the shell on Unix does filename substitution, files
1727
+ starting with "." are not included; to include these as well:
1728
+
1729
+ zip stuff .* *
1730
+
1731
+ Even this will not include any subdirectories from the current direc-
1732
+ tory.
1733
+
1734
+ To zip up an entire directory, the command:
1735
+
1736
+ zip -r foo foo
1737
+
1738
+ creates the archive foo.zip, containing all the files and directories
1739
+ in the directory foo that is contained within the current directory.
1740
+
1741
+ You may want to make a zip archive that contains the files in foo,
1742
+ without recording the directory name, foo. You can use the -j option
1743
+ to leave off the paths, as in:
1744
+
1745
+ zip -j foo foo/*
1746
+
1747
+ If you are short on disk space, you might not have enough room to hold
1748
+ both the original directory and the corresponding compressed zip
1749
+ archive. In this case, you can create the archive in steps using the
1750
+ -m option. If foo contains the subdirectories tom, dick, and harry,
1751
+ you can:
1752
+
1753
+ zip -rm foo foo/tom
1754
+ zip -rm foo foo/dick
1755
+ zip -rm foo foo/harry
1756
+
1757
+ where the first command creates foo.zip, and the next two add to it.
1758
+ At the completion of each zip command, the last created archive is
1759
+ deleted, making room for the next zip command to function.
1760
+
1761
+ Use -s to set the split size and create a split archive. The size is
1762
+ given as a number followed optionally by one of k (kB), m (MB), g (GB),
1763
+ or t (TB). The command
1764
+
1765
+ zip -s 2g -r split.zip foo
1766
+
1767
+ creates a split archive of the directory foo with splits no bigger than
1768
+ 2 GB each. If foo contained 5 GB of contents and the contents were
1769
+ stored in the split archive without compression (to make this example
1770
+ simple), this would create three splits, split.z01 at 2 GB, split.z02
1771
+ at 2 GB, and split.zip at a little over 1 GB.
1772
+
1773
+ The -sp option can be used to pause zip between splits to allow chang-
1774
+ ing removable media, for example, but read the descriptions and warn-
1775
+ ings for both -s and -sp below.
1776
+
1777
+ Though zip does not update split archives, zip provides the new option
1778
+ -O (--output-file) to allow split archives to be updated and saved in a
1779
+ new archive. For example,
1780
+
1781
+ zip inarchive.zip foo.c bar.c --out outarchive.zip
1782
+
1783
+ reads archive inarchive.zip, even if split, adds the files foo.c and
1784
+ bar.c, and writes the resulting archive to outarchive.zip. If inar-
1785
+ chive.zip is split then outarchive.zip defaults to the same split size.
1786
+ Be aware that outarchive.zip and any split files that are created with
1787
+ it are always overwritten without warning. This may be changed in the
1788
+ future.
1789
+
1790
+ PATTERN MATCHING
1791
+ This section applies only to Unix. Watch this space for details on
1792
+ MSDOS and VMS operation. However, the special wildcard characters *
1793
+ and [] below apply to at least MSDOS also.
1794
+
1795
+ The Unix shells (sh, csh, bash, and others) normally do filename sub-
1796
+ stitution (also called "globbing") on command arguments. Generally the
1797
+ special characters are:
1798
+
1799
+ ? match any single character
1800
+
1801
+ * match any number of characters (including none)
1802
+
1803
+ [] match any character in the range indicated within the brackets
1804
+ (example: [a-f], [0-9]). This form of wildcard matching allows
1805
+ a user to specify a list of characters between square brackets
1806
+ and if any of the characters match the expression matches. For
1807
+ example:
1808
+
1809
+ zip archive "*.[hc]"
1810
+
1811
+ would archive all files in the current directory that end in .h
1812
+ or .c.
1813
+
1814
+ Ranges of characters are supported:
1815
+
1816
+ zip archive "[a-f]*"
1817
+
1818
+ would add to the archive all files starting with "a" through
1819
+ "f".
1820
+
1821
+ Negation is also supported, where any character in that position
1822
+ not in the list matches. Negation is supported by adding ! or ^
1823
+ to the beginning of the list:
1824
+
1825
+ zip archive "*.[!o]"
1826
+
1827
+ matches files that don't end in ".o".
1828
+
1829
+ On WIN32, [] matching needs to be turned on with the -RE option
1830
+ to avoid the confusion that names with [ or ] have caused.
1831
+
1832
+ When these characters are encountered (without being escaped with a
1833
+ backslash or quotes), the shell will look for files relative to the
1834
+ current path that match the pattern, and replace the argument with a
1835
+ list of the names that matched.
1836
+
1837
+ The zip program can do the same matching on names that are in the zip
1838
+ archive being modified or, in the case of the -x (exclude) or -i
1839
+ (include) options, on the list of files to be operated on, by using
1840
+ backslashes or quotes to tell the shell not to do the name expansion.
1841
+ In general, when zip encounters a name in the list of files to do, it
1842
+ first looks for the name in the file system. If it finds it, it then
1843
+ adds it to the list of files to do. If it does not find it, it looks
1844
+ for the name in the zip archive being modified (if it exists), using
1845
+ the pattern matching characters described above, if present. For each
1846
+ match, it will add that name to the list of files to be processed,
1847
+ unless this name matches one given with the -x option, or does not
1848
+ match any name given with the -i option.
1849
+
1850
+ The pattern matching includes the path, and so patterns like \*.o match
1851
+ names that end in ".o", no matter what the path prefix is. Note that
1852
+ the backslash must precede every special character (i.e. ?*[]), or the
1853
+ entire argument must be enclosed in double quotes ("").
1854
+
1855
+ In general, use backslashes or double quotes for paths that have wild-
1856
+ cards to make zip do the pattern matching for file paths, and always
1857
+ for paths and strings that have spaces or wildcards for -i, -x, -R, -d,
1858
+ and -U and anywhere zip needs to process the wildcards.
1859
+
1860
+ ENVIRONMENT
1861
+ The following environment variables are read and used by zip as
1862
+ described.
1863
+
1864
+ ZIPOPT
1865
+ contains default options that will be used when running zip.
1866
+ The contents of this environment variable will get added to the
1867
+ command line just after the zip command.
1868
+
1869
+ ZIP
1870
+ [Not on RISC OS and VMS] see ZIPOPT
1871
+
1872
+ Zip$Options
1873
+ [RISC OS] see ZIPOPT
1874
+
1875
+ Zip$Exts
1876
+ [RISC OS] contains extensions separated by a : that will cause
1877
+ native filenames with one of the specified extensions to be
1878
+ added to the zip file with basename and extension swapped.
1879
+
1880
+ ZIP_OPTS
1881
+ [VMS] see ZIPOPT
1882
+
1883
+ SEE ALSO
1884
+ compress(1), shar(1L), tar(1), unzip(1L), gzip(1L)
1885
+
1886
+ DIAGNOSTICS
1887
+ The exit status (or error level) approximates the exit codes defined by
1888
+ PKWARE and takes on the following values, except under VMS:
1889
+
1890
+ 0 normal; no errors or warnings detected.
1891
+
1892
+ 2 unexpected end of zip file.
1893
+
1894
+ 3 a generic error in the zipfile format was detected. Pro-
1895
+ cessing may have completed successfully anyway; some bro-
1896
+ ken zipfiles created by other archivers have simple work-
1897
+ arounds.
1898
+
1899
+ 4 zip was unable to allocate memory for one or more buffers
1900
+ during program initialization.
1901
+
1902
+ 5 a severe error in the zipfile format was detected. Pro-
1903
+ cessing probably failed immediately.
1904
+
1905
+ 6 entry too large to be processed (such as input files
1906
+ larger than 2 GB when not using Zip64 or trying to read
1907
+ an existing archive that is too large) or entry too large
1908
+ to be split with zipsplit
1909
+
1910
+ 7 invalid comment format
1911
+
1912
+ 8 zip -T failed or out of memory
1913
+
1914
+ 9 the user aborted zip prematurely with control-C (or simi-
1915
+ lar)
1916
+
1917
+ 10 zip encountered an error while using a temp file
1918
+
1919
+ 11 read or seek error
1920
+
1921
+ 12 zip has nothing to do
1922
+
1923
+ 13 missing or empty zip file
1924
+
1925
+ 14 error writing to a file
1926
+
1927
+ 15 zip was unable to create a file to write to
1928
+
1929
+ 16 bad command line parameters
1930
+
1931
+ 18 zip could not open a specified file to read
1932
+
1933
+ 19 zip was compiled with options not supported on this sys-
1934
+ tem
1935
+
1936
+ VMS interprets standard Unix (or PC) return values as other, scarier-
1937
+ looking things, so zip instead maps them into VMS-style status codes.
1938
+ In general, zip sets VMS Facility = 1955 (0x07A3), Code = 2* Unix_sta-
1939
+ tus, and an appropriate Severity (as specified in ziperr.h). More
1940
+ details are included in the VMS-specific documentation. See
1941
+ [.vms]NOTES.TXT and [.vms]vms_msg_gen.c.
1942
+
1943
+ BUGS
1944
+ zip 3.0 is not compatible with PKUNZIP 1.10. Use zip 1.1 to produce zip
1945
+ files which can be extracted by PKUNZIP 1.10.
1946
+
1947
+ zip files produced by zip 3.0 must not be updated by zip 1.1 or PKZIP
1948
+ 1.10, if they contain encrypted members or if they have been produced
1949
+ in a pipe or on a non-seekable device. The old versions of zip or PKZIP
1950
+ would create an archive with an incorrect format. The old versions can
1951
+ list the contents of the zip file but cannot extract it anyway (because
1952
+ of the new compression algorithm). If you do not use encryption and
1953
+ use regular disk files, you do not have to care about this problem.
1954
+
1955
+ Under VMS, not all of the odd file formats are treated properly. Only
1956
+ stream-LF format zip files are expected to work with zip. Others can
1957
+ be converted using Rahul Dhesi's BILF program. This version of zip
1958
+ handles some of the conversion internally. When using Kermit to trans-
1959
+ fer zip files from VMS to MSDOS, type "set file type block" on VMS.
1960
+ When transfering from MSDOS to VMS, type "set file type fixed" on VMS.
1961
+ In both cases, type "set file type binary" on MSDOS.
1962
+
1963
+ Under some older VMS versions, zip may hang for file specifications
1964
+ that use DECnet syntax foo::*.*.
1965
+
1966
+ On OS/2, zip cannot match some names, such as those including an excla-
1967
+ mation mark or a hash sign. This is a bug in OS/2 itself: the 32-bit
1968
+ DosFindFirst/Next don't find such names. Other programs such as GNU
1969
+ tar are also affected by this bug.
1970
+
1971
+ Under OS/2, the amount of Extended Attributes displayed by DIR is (for
1972
+ compatibility) the amount returned by the 16-bit version of DosQuery-
1973
+ PathInfo(). Otherwise OS/2 1.3 and 2.0 would report different EA sizes
1974
+ when DIRing a file. However, the structure layout returned by the
1975
+ 32-bit DosQueryPathInfo() is a bit different, it uses extra padding
1976
+ bytes and link pointers (it's a linked list) to have all fields on
1977
+ 4-byte boundaries for portability to future RISC OS/2 versions. There-
1978
+ fore the value reported by zip (which uses this 32-bit-mode size) dif-
1979
+ fers from that reported by DIR. zip stores the 32-bit format for
1980
+ portability, even the 16-bit MS-C-compiled version running on OS/2 1.3,
1981
+ so even this one shows the 32-bit-mode size.
1982
+
1983
+ AUTHORS
1984
+ Copyright (C) 1997-2008 Info-ZIP.
1985
+
1986
+ Currently distributed under the Info-ZIP license.
1987
+
1988
+ Copyright (C) 1990-1997 Mark Adler, Richard B. Wales, Jean-loup Gailly,
1989
+ Onno van der Linden, Kai Uwe Rommel, Igor Mandrichenko, John Bush and
1990
+ Paul Kienitz.
1991
+
1992
+ Original copyright:
1993
+
1994
+ Permission is granted to any individual or institution to use, copy, or
1995
+ redistribute this software so long as all of the original files are
1996
+ included, that it is not sold for profit, and that this copyright
1997
+ notice is retained.
1998
+
1999
+ LIKE ANYTHING ELSE THAT'S FREE, ZIP AND ITS ASSOCIATED UTILITIES ARE
2000
+ PROVIDED AS IS AND COME WITH NO WARRANTY OF ANY KIND, EITHER EXPRESSED
2001
+ OR IMPLIED. IN NO EVENT WILL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
2002
+ DAMAGES RESULTING FROM THE USE OF THIS SOFTWARE.
2003
+
2004
+ Please send bug reports and comments using the web page at: www.info-
2005
+ zip.org. For bug reports, please include the version of zip (see
2006
+ zip -h), the make options used to compile it (see zip -v), the machine
2007
+ and operating system in use, and as much additional information as pos-
2008
+ sible.
2009
+
2010
+ ACKNOWLEDGEMENTS
2011
+ Thanks to R. P. Byrne for his Shrink.Pas program, which inspired this
2012
+ project, and from which the shrink algorithm was stolen; to Phil Katz
2013
+ for placing in the public domain the zip file format, compression for-
2014
+ mat, and .ZIP filename extension, and for accepting minor changes to
2015
+ the file format; to Steve Burg for clarifications on the deflate for-
2016
+ mat; to Haruhiko Okumura and Leonid Broukhis for providing some useful
2017
+ ideas for the compression algorithm; to Keith Petersen, Rich Wales,
2018
+ Hunter Goatley and Mark Adler for providing a mailing list and ftp site
2019
+ for the Info-ZIP group to use; and most importantly, to the Info-ZIP
2020
+ group itself (listed in the file infozip.who) without whose tireless
2021
+ testing and bug-fixing efforts a portable zip would not have been pos-
2022
+ sible. Finally we should thank (blame) the first Info-ZIP moderator,
2023
+ David Kirschbaum, for getting us into this mess in the first place.
2024
+ The manual page was rewritten for Unix by R. P. C. Rodgers and updated
2025
+ by E. Gordon for zip 3.0.
2026
+
2027
+ Info-ZIP 16 June 2008 (v3.0) ZIP(1L)