File: zp.1.pod

package info (click to toggle)
zp 1.0-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd, squeeze, stretch, wheezy
  • size: 220 kB
  • ctags: 213
  • sloc: cpp: 2,443; sh: 251; makefile: 13
file content (282 lines) | stat: -rw-r--r-- 8,849 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
#   Copyright
#
#      Copyright (C) 2010 Jari Aalto
#
#   License
#
#       This program is free software; you can redistribute it and/or modify
#       it under the terms of the GNU General Public License as published by
#       the Free Software Foundation; either version 3 of the License, or
#       (at your option) any later version.
#
#       This program is distributed in the hope that it will be useful,
#       but WITHOUT ANY WARRANTY; without even the implied warranty of
#       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#       GNU General Public License for more details.
#
#       You should have received a copy of the GNU General Public License
#       along with this program. If not, see <http://www.gnu.org/licenses/>.
#
#   Description
#
#	To learn what TOP LEVEL section to use in manual pages,
#	see POSIX/Susv standard and "tility Description Defaults" at
#	http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap01.html#tag_01_11
#
#	This is manual page in Perl POD format. Read more at
#	http://perldoc.perl.org/perlpod.html or run command:
#
#	    perldoc perlpod | less
#
#	To check the syntax:
#
#	    podchecker *.pod
#
#	Create manual page with command:
#
#	    pod2man PAGE.N.pod > PAGE.N

=pod

=head1 NAME

zp - ZPAQ open standard maximum compressor with prebuilt compression levels

=head1 SYNOPSIS

  create : zp cN archive.zpaq file [file ...]
  append : zp aN archive.zpaq file [file ...]
  list   : zp l archive.zpaq
  extract: zp [ex][N] archive.zpaq

=head1 DESCRIPTION

=head2 General

PAQ family was a series of open source data compression archivers that
have evolved through collaborative development to top rankings on
several benchmarks measuring compression ratio although at the expense
of speed and memory usage.

ZPAQ ia a proposed standard format for highly compressed data that
allows new compression algorithms to be developed without breaking
compatibility with older programs. Zp is based on PAQ-like context
mixing algorithms which are top ranked on many benchmarks. The format
supports archivers, single file compressors, and memory to memory
compression.

Zp's goal is a high compression ratio in an open format without loss
of compatibility between versions as advanced compression techniques
are discovered.

If you compress in Windows and extract in Linux, then the program will
change "\" to "/" during extraction and vice versa. Slashes can be
stored with either convention. The program guesses the operating
system by counting "/" and "\" in the I<PATH> environment variable. If
this heuristic fails (I<PATH> not defined) then no slash translation is
done.

Paths must be relative to the current directory. The program will warn
if you store an absolute path. You can only extract such files with
command B<e> or by overriding the filename.

    zp c archive.zpaq  /dir/file  (Warning: starts with "/")
    zp x archive.zpaq             (Error: bad filename)
    zp e archive.zpaq             (OK: extracts file1 to current directory)
    zp x archive.zpaq  newfile    (OK: extracts newfile to current directory)
    zp x archive.zpaq  /dir/file  (OK: creates /dir if needed)

Also, the same rule applies to file names containing control
characters, or longer than 511 characters, or that start with a drive
letter like C<C:> or contain relative C<..> paths.

If this program is run in Linux or UNIX or compiled with g++ in Windows
then it will interpret wildcards on the command line in the usual way.
A * matches any string and ? matches any character.

    zp c archive.zpaq  *

will compress all files in the current directory to C<archive.zpaq>.
However, it will not recurse directories. You need to specify the
files in each directory that you want to add.

The program does not save file timestamps or permissions like some other
archivers do. Extracted files are dated from the time of extraction
with default permissions. If you need these capabilities, then create a
tar file and compress that instead.

The compression option 1, 2, or 3 means compress fast, medium, or best
respectively. Better compression requires more time and memory.
Decompression speed and memory are the same as for compression. Speed
(T3200, 2.0 GHz) and memory usage are as follows. The following table
shows comparison to C<zip -9> compression All modes compress better
but slower than zip.

		Memory     Speed     Calgary corpus
		------  -----------  ---------------
    1 (fast)     38 MB  0.7  sec/MB    807,214 bytes
    2 (default) 111 MB  2.3  sec/MB    699,586 bytes
    3 (small)   246 MB  6.4  sec/MB    644,545 bytes
    zip -9       <1 MB  0.13 sec/MB  1,020,719 bytes

zp(1) uses compiled ZPAQL (generated by C<zpaq oc>) to compress and
extract in each of the 3 modes about twice as fast as using
interpreted code. It automatically recognizes these configurations
even if they are produced by other programs. The default compression
is the same as the default produced by zpaq(1) and zpipe(1). If
another program produces a different configuration, then this program
will still correctly decompress it by interpreting the code, which is
slower. Also, zpaq(1), unzpaq(1), and zpipe(1) can decompress archives
produced by this program.

The program stores a filename, comment, and SHA-1 checksum for each
file. Other programs may omit these, but this program will still be
able to decompress them. This program follows the convention that if
the name is omitted, then the contents should be appended to the
previous file. If the first filename is omitted, then you must supply
it on the command line during extraction. Each filename on the command
line replaces one named file in the archive.

head2 Commands

=over 4

=item B<a[N]>

Append to archive.

Value N regulates the speed of compression using the specified digit:
1 (fast, less compression), 2 (medium, default), 3 (best, highest
compression).

=item B<c[N]>

Create archive.

Value N regulates the speed of compression using the specified digit:
1 (fast, less compression), 2 (medium, default), 3 (best, highest
compression).

=item B<e[N]>

Extract to current directory.

With N, extract only block N (1, 2, 3...), where 1 is the first block.
Otherwise all blocks are extracted. The B<l> command shows which files
are in each block.

=item B<l>

List contents of archive.

=item B<x[N]>

Extract with full path names (files... overrides stored names).

With N, extract only block N (1, 2, 3...), where 1 is the first block.
Otherwise all blocks are extracted. The B<l> command shows which files
are in each block.

=back

=head1 OPTIONS

None.

=head1 EXAMPLES

=head2 Create

The archive name must end with I<.zpaq>. All commands will add the
extension automatically if you don't specify it.

To create an archive:

    zp c3 archive.zpaq files ...

File names are stored in the archive as they appear on the command
line. If you specify a path to a different directory, the path is
stored, and created during extraction. The B<e> command extracts to
the current directory.

=head2 Append

To (a)ppend to an existing archive. If the archive does not exist then
it is created as with the c command. The files are grouped into blocks
(solid archive) for each command (see B<l> command).

    zp a3 archive.zpaq files ...

=head2 List

To list the contents of an archive. Files are listed in the same block
order they were added:

    zp l archive.zpaq

=head2 Extract

To extract the contents of the archive:

    zp x archive.zpaq

To extract specific block (see B<l> command output):

    zp x1 archive.zpaq

Blocks are "solid" which means you cannot extract files within a block
without extracting the earlier files. To extract first file in block
under another name:

    zp x1 archive.zpaq other-name

Program will not overwrite existing files during extraction unless you
specify the filenames on the command line:

    zp x archive.zpaq		    (Error: file1 exists)
    zp x archive.zpaq file1 file2   (Overwrite file1, file2)

=head1 ENVIRONMENT

I<PATH> is checked for detecting if slash conversions are required. An
empty value will disable conversions.

=head1 FILES

None.

=head1 STANDARDS

See zpaq*.pdf (ZPAQ Level 1 and later) in section AVAILABILITY. It is
anticipated that future levels (ZPAQ-2, ZPAQ-3, etc.) will be backward
compatible, such that newer levels can read archives produced by older
programs.

=head1 AVAILABILITY

http://mattmahoney.net/dc

=head1 SEE ALSO

bzip2(1)
gzip(1)
lzma(1)
lzop(1)
p7zip(1)
rzip(1)
unace(1)
unrar(1)
unzip(1)
zip(1)
zpaq(1)

=head1 AUTHORS

Program was written by Matt Mahoney <matmahoney@yahoo.com>

This manual page was written by Jari Aalto <jari.aalto@cante.net>.
Released under license GNU GPL version 3 or (at your option) any later
version. For more information about license, visit
<http://www.gnu.org/copyleft/gpl.html>.

=cut