bookshop 0.1.4 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/bookshop/commands/build.rb +12 -8
- data/lib/bookshop/generators/bookshop/app/app_generator.rb +16 -20
- data/lib/bookshop/generators/bookshop/app/templates/book/assets/css/stylesheet.epub.css +2 -203
- data/lib/bookshop/generators/bookshop/app/templates/book/assets/css/stylesheet.mobi.css +14 -169
- data/lib/bookshop/generators/bookshop/app/templates/book/bodymatter/ch01/adding_images.html.erb +1 -1
- data/lib/bookshop/generators/bookshop/app/templates/book/bodymatter/ch01/ch01.html.erb +1 -1
- data/lib/bookshop/generators/bookshop/app/templates/book/book.html.erb +6 -6
- data/lib/bookshop/generators/bookshop/app/templates/book/epub/OEBPS/content.opf.erb +17 -13
- data/lib/bookshop/generators/bookshop/app/templates/book/frontmatter/preface.html.erb +1 -1
- data/lib/bookshop/generators/bookshop/app/templates/book/frontmatter/toc.html.erb +5 -1
- data/lib/bookshop/generators/bookshop/app/templates/config/book.yml +2 -2
- data/lib/bookshop/generators/bookshop/app/templates/script/zip/Contents +36 -0
- data/lib/bookshop/generators/bookshop/app/templates/script/zip/LICENSE +60 -0
- data/lib/bookshop/generators/bookshop/app/templates/script/zip/README +234 -0
- data/lib/bookshop/generators/bookshop/app/templates/script/zip/README.CR +119 -0
- data/lib/bookshop/generators/bookshop/app/templates/script/zip/WHATSNEW +333 -0
- data/lib/bookshop/generators/bookshop/app/templates/script/zip/WHERE +266 -0
- data/lib/bookshop/generators/bookshop/app/templates/script/zip/zip.exe +0 -0
- data/lib/bookshop/generators/bookshop/app/templates/script/zip/zip.txt +2027 -0
- data/lib/bookshop/generators/bookshop/app/templates/script/zip/zip30.ann +95 -0
- data/lib/bookshop/generators/bookshop/app/templates/script/zip/zipcloak.exe +0 -0
- data/lib/bookshop/generators/bookshop/app/templates/script/zip/zipcloak.txt +75 -0
- data/lib/bookshop/generators/bookshop/app/templates/script/zip/zipnote.exe +0 -0
- data/lib/bookshop/generators/bookshop/app/templates/script/zip/zipnote.txt +63 -0
- data/lib/bookshop/generators/bookshop/app/templates/script/zip/zipsplit.exe +0 -0
- data/lib/bookshop/generators/bookshop/app/templates/script/zip/zipsplit.txt +53 -0
- data/lib/bookshop/version.rb +1 -1
- metadata +31 -16
@@ -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
|
+
__________________________________________________________________________
|
Binary file
|
@@ -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)
|