pack, pcat, unpack - compress and expand files
pack [-f] [-] file...
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 distribu-
tion is very skewed, which may occur with printer plots or
Typically, text files are reduced to 60-75% of their origi-
nal 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 ori-
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.
The pcat command does for packed files what cat(1) does for
ordinary files, except that pcat cannot be used as a filter.
The specified files are unpacked and written to the standard
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.
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.
The following options are supported by pack:
-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.
The following operands are supported:
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 out-
put. Additional occurrences of - in place of file will
cause the internal flag to be set and reset.
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).
Example 1: Viewing a Packed File
To view a packed file named file.z use:
example% pcat file.z
example% pcat file
Example 2: Making and Unpacked Copy:
To make an unpacked copy, say nnn, of a packed file named
file.z (without destroying file.z) use the command:
example% pcat file >nnn
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.
The following exit values are returned:
0 Successful completion.
>0 An error occurred. The number of files the command
failed to pack/unpack is returned.
See attributes(5) for descriptions of the following attri-
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Availability | SUNWesu |
| CSI | Enabled |
cat(1), compress(1), zcat(1), attributes(5), environ(5),
Man(1) output converted with