PACK(1) User Commands PACK(1)
NAME
pack, pcat, unpack - compress and expand files
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 is 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 can 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.
The
pack utility returns a value that is the number of files that it
failed to compress. If that number exceeds
255,
255 is returned.
No packing occurs if:
o the file appears to be already packed
o the file name is too long to add the
.z suffix
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 are 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 be short enough to allow space
for the appended
.z extension. Directories cannot be compressed.
pcat 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 output.
pcat returns the number of files it was unable to unpack. Failure can
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 can occur for the same reasons that it can in
pcat,
as well as for the following:
o a file with the unpacked name already exists;
o the unpacked file cannot be created.
OPTIONS
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 do not
benefit. Packed files can be restored to their original form
using
unpack or
pcat.
The following options are supported by
pack and
unpack:
-/ When packing or unpacking, copies any ACL and extended system
attributes associated with the source file to the target file.
If an ACL or extended system attributes cannot be copied, the
original file is retained, a diagnostic message is written to
stderr, and the final exit status is
non-zero.
OPERANDS
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 output. Additional occurrences of
- in place
of
file causes the internal flag to be set and reset.
USAGE
See
largefile(7) 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
Example 1: Viewing a Packed File
To view a packed file named
file.z use:
example% pcat file.z or just:
example% pcat file Example 2: Making an 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 >nnnENVIRONMENT VARIABLES
See
environ(7) for descriptions of the following environment
variables that affect the execution of
pack,
pcat, and
unpack:
LC_CTYPE,
LC_MESSAGES, and
NLSPATH.
EXIT STATUS
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. If the number of failures exceeds
255,
then
255 is returned.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+---------------+-----------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+-----------------+
|CSI | Enabled |
+---------------+-----------------+
SEE ALSO
cat(1),
compress(1),
zcat(1),
fgetattr(3C),
fsetattr(3C),
attributes(7),
environ(7),
largefile(7) February 5, 2020 PACK(1)