compress, uncompress, zcat, compressdir, uncompressdir - compress and
compress [-d] [-f|-z] [-z] [-v] [-c] [-V] [-b maxbits] [file ...]
uncompress [-f] [-v] [-c] [-V] [file ...]
zcat [-V] [file ...]
Compress Entire Directory Subtrees
compressdir [options] [directory ...]
uncompressdir [options] [directory ...]
The following commands compress and uncompress files and directory
subtrees as indicated:
compress Reduce the size of the named files using
adaptive Lempel-Ziv coding. If reduction is
possible, each file is replaced by a new file
of the same name with the suffix .Z added to
indicate that it is a compressed file.
Original ownership, modes, access, and
modification times are preserved. If no file
is specified, or if - is specified, standard
input is compressed to the standard output.
uncompress Restore the compressed files to original
form. Resulting files have the original
filename, ownership, and permissions, and the
.Z filename suffix is removed. If no file is
specified, or if - is specified, standard
input is uncompressed to the standard output.
zcat Restore the compressed files to original form
and send the result to standard output. If
no file is specified, or if - is specified,
standard input is uncompressed to the
compressdir Front-end processor. Recursively descend
each specified directory subtree and use
compress to compress each file in directory.
Existing files are replaced by a compressed
file having the same name plus the suffix .Z,
provided the resulting file is smaller than
the original. If no directories are
Hewlett-Packard Company - 1 - HP-UX Release 11i: November 2000
specified, compression is applied to all
files starting with the current directory.
options may include any valid compress
command options (they are passed through to
compress). To force compression of all
files, even when the result is larger than
the original file, use the -f option.
uncompressdir Opposite of compressdir. Restore compressed
files to their original form. options may
include any valid uncompress command options
(they are passed through to uncompress).
The amount of compression obtained depends on the size of the input,
the maximum number of bits (maxbits) per code, and the distribution of
common substrings. Typically, text such as source code or English is
reduced by 50-60 percent. Compression is generally much better than
that achieved by Huffman coding (as used in pack), or adaptive Huffman
coding (compact), and takes less time to compute.
These commands recognize the following options in the combinations
shown above in SYNOPSIS:
-d Decompress file. compress -d is equivalent
-f Force compression of file. This is useful
for compressing an entire directory, even if
some of the files do not actually shrink. If
-f is not given and compress is run in the
foreground, the user is prompted as to
whether an existing file should be
-z This is the same as the -f option except that
it does not force compression when there is
-v Print a message describing the percentage of
reduction for each file compressed.
-c Force compress and uncompress to write to the
standard output; no files are changed. The
nondestructive behavior of zcat is identical
to that of uncompress -c.
-V Print the current version and compile options
onto the standard error.
Hewlett-Packard Company - 2 - HP-UX Release 11i: November 2000
-b maxbits Specify the maximum number of bits the
compress algorithm will use. The default is
16 and the range can be any integer between 9
compress uses the modified Lempel-Ziv algorithm popularized in A
Technique for High Performance Data Compression , Terry A. Welch, IEEE
Computer, vol. 17, no. 6 (June 1984), pages 8-19. Common substrings
in the file are first replaced by 9-bit codes 257 and up. When code
512 is reached, the algorithm switches to 10-bit codes and continues
to use more bits until the limit specified by the -b flag is reached
After the maxbits limit is attained, compress periodically checks the
compression ratio. If it is increasing, compress continues to use the
existing code dictionary. However, if the compression ratio is
decreasing, compress discards the table of substrings and rebuilds it
from scratch. This allows the algorithm to adapt to the next "block"
of the file.
Note that the -b flag is omitted for uncompress since the maxbits
parameter specified during compression is encoded within the output,
along with a magic number to ensure that neither decompression of
random data nor recompression of compressed data is attempted.
Access Control Lists
compress retains a file's access control list when compressing and
LC_MESSAGES determines the language in which messages are displayed.
If LC_MESSAGES is not specified in the environment or is set to the
empty string, the value of LANG is used as a default for each
unspecified or empty variable. If LANG is not specified or is set to
the empty string, a default of "C" (see lang(5)) is used instead of
If any internationalization variable contains an invalid setting,
compress, uncompress, and zcat behave as if all internationalization
variables are set to "C". See environ(5).
International Code Set Support
Single- and multi-byte character code sets are supported.
These commands return the following values upon completion:
0 Completed successfully.
Hewlett-Packard Company - 3 - HP-UX Release 11i: November 2000
2 Last file is larger after (attempted) compression.
1 An error occurred.
Usage: compress [-f|-z] [-dvcV] [-b maxbits] [file ...]
Invalid options were specified on the command line.
maxbits must follow -b.
file: not in compressed format
The file specified to uncompress has not been compressed.
file: compressed with xxbits, can only handle yybits
file was compressed by a program that could deal with a higher
value of maxbits than the compress code on this machine.
Recompress the file with a lower value of maxbits.
file: already has .Z suffix -- no change
The file is assumed to be already compressed. Rename the file
and try again.
file: filename too long to tack on .Z
The output file name, which is the source file name with a .Z
extension, is too long for the file system on which the source
file resides. Make the source file name shorter and try again.
file already exists; do you wish to overwrite (y or n)?
Respond y if you want the output to replace the existing file;
otherwise, respond n.
uncompress: corrupt input
A SIGSEGV violation was detected which usually means that the
input file has been corrupted.
Percentage of the input saved by compression. (Relevant only for
-- not a regular file: unchanged
When the input file is not a regular file (a directory for
example), it is left unaltered.
-- has xxother links: unchanged
The input file has links which are not symbolic links and has
been left unchanged. See ln(1) for more information.
-- has symbolic links: unchanged
The input file has symbolic links and has been left unchanged.
See ln(1) for more information.
Hewlett-Packard Company - 4 - HP-UX Release 11i: November 2000
-- file unchanged
No savings is achieved by compression. The input remains
Compress the file named zenith and print compression information to
compress -v zenith
The terminal display shows either a line resembling
zenith: Compression: 23.55% -- replaced with zenith.Z
indicating that the compressed file is 23.55% smaller than the
original, or a line resembling
zenith: Compression: -12.04% -- file unchanged
indicating that an additional 12.04% space must be used to compress
Undo the compression by typing either of the following commands:
compress -d zenith.Z
This restores file zenith.Z to its original uncompressed form and
uncompress will perform on standard input if no files are specified.
For example, to list a compressed tar file:
uncompress -c arch.tar.Z | tar -tvf -
Although compressed files are compatible between machines with large
memory, -b12 should be used for file transfer to architectures with a
small process data space (64K bytes or less).
Access control lists of networked files are summarized (as returned in
st_mode by stat(), but not copied to the new file (see stat(2)).
compress was developed by Joseph M. Orost, Kenneth E. Turkowski,
Spencer W. Thomas, and James A. Woods.
*.Z Compressed file created by compress and removed by uncompress.
Hewlett-Packard Company - 5 - HP-UX Release 11i: November 2000
compact(1), pack(1), acl(5).
Hewlett-Packard Company - 6 - HP-UX Release 11i: November 2000