zp(1)

NAME

zp - ZPAQ open standard maximum compressor with prebuilt compression
levels

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

DESCRIPTION

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 PATH environment variable. If this heuristic fails (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 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:" or contain relative ".." 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 "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 "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 "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
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).
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).
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 l command shows
which files are in each block.
l List contents of archive.
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 l command shows
which files are in each block.

OPTIONS

None.

EXAMPLES

Create
The archive name must end with .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 e command extracts to the current directory.
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 l command).

zp a3 archive.zpaq files ...
List
To list the contents of an archive. Files are listed in the same block order they were added:

zp l archive.zpaq
Extract
To extract the contents of the archive:

zp x archive.zpaq
To extract specific block (see 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)

ENVIRONMENT

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

FILES

None.

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.

AVAILABILITY

http://mattmahoney.net/dc

SEE ALSO

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

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>.
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout