Synopsis: pack [ -f ] [ - ] file
...
pcat file ...
unpack file ...
Description:
pack
The pack command attempts
to store the specified files in a compressed form.
Wherever possible (and useful),
each input file file is replaced by
a packed file file.z with the same access modes, access
and modified dates, and
owner as those of file. If
pack is successful, file will be removed.
The amount of compression obtained depends
on the size of the input file and
the character frequency
distribution. Because a decoding tree forms
the first part of each .z file,
it is usually not worthwhile to pack
files smaller
than three blocks, unless the character frequency distribution
is very skewed, which may occur with
printer plots or pictures.
Typically, text files are reduced to 60-75%
of their original size. Load modules, which
use a larger character set
and have a more uniform distribution
of characters, show little compression, the packed
versions being about
90% of the original size.
pack returns a value that is the number of files that it failed to compress.
No packing will occur if:
o the file appears
to be already packed
o the file name
has more than 14 - 2 bytes
*o the file has links
*o the file is a directory
o the file cannot
be opened
o the file is
empty
*o no disk storage blocks
will be saved by packing
o a file called
file.z already exists
o the .z file
cannot be created
o an I/O error
occurred during processing.
The last segment of the file name must contain
no more than 14 - 2 bytes to allow space for the appended
.z
extension. Directories cannot be compressed.
pcat
The pcat command does for packed files what
cat does for ordinary files, except that pcat cannot be used as a
filter. The
specified files are unpacked and written to the standard output.
pcat returns the number of files it was
unable to unpack. Failure may occur if:
o the file cannot
be opened;
o the file does
not appear to be the output of pack.
unpack
The unpack command expands files created by
pack. For each file specified in the command,
a search is made
for a file called file.z (or just file, if
file ends in .z). If this
file appears to be a packed file, it is replaced
by its
expanded version.
The new file has the .z suffix stripped from its
name, and has the same access modes, access
and modification dates, and owner as
those of the packed file.
unpack returns a value that is the number of
files it was unable to unpack. Failure may occur for the same
reasons
that it may in pcat, as well as for the following:
o a file with
the ``unpacked'' name already exists;
o the unpacked
file cannot be created.
o the filename
(excluding the .z extension) has more than 14 bytes.
OPTIONS
-f Forces packing
of file. This is useful for causing an entire directory
to be packed even if some of the files
will not benefit. Packed files can be restored to their
original form using unpack or pcat.
OPERANDS
file A path name of
a file to be packed, unpacked, or pcated; file can include
or omit the .z suffix.
-
pack uses Huffman (minimum redundancy) codes on a byte-by-byte
basis. If the - argument is used, an
internal flag is set that causes the number of
times each byte is used, its relative frequency,
and the code for the byte to be printed on the
standard output. Additional occurrences of - in
place of
file will cause the internal flag to be set and reset.
USAGE
See largefile(5) for the description
of the behavior of pack, pcat, and unpack when
encountering files greater
than or equal to 2 Gbyte (2**31
bytes).
EXAMPLES
To view a packed file named file.z use:
% pcat file.z or just: % pcat file
To make an unpacked copy, say nnn, of a
packed file named file.z (without destroying file.z) use the
command:
% pcat file
>nnn
ENVIRONMENT
See environ(5) for descriptions
of the following environment variables that affect
the execution of pack, pcat,
and unpack: LC_CTYPE,
LC_MESSAGES, and NLSPATH.
SEE ALSO
cat(1), compress(1),
zcat(1), attributes(5), environ(5), largefile(5)