compress(1) compress(1)
NAME
compress, uncompress, zcat - Compresses and expands data
SYNOPSIS
compress [-cCdfFnqvV] [-b bits] [file ...]
uncompress [-cCfFnqvV] [file ...]
zcat [-n] [file ...]
STANDARDS
Interfaces documented on this reference page conform to industry standards
as follows:
compress: XPG4, XPG4-UNIX
uncompress: XPG4, XPG4-UNIX
zcat: XPG4, XPG4-UNIX
Refer to the standards(5) reference page for more information about indus-
try standards and associated tags.
FLAGS
-b bits
Specifies the maximum number of bits to use to replace common sub-
strings in the file. The default for bits is 16, with values of 9
through 16 acceptable. First, the algorithm uses 9-bit codes 257
through 512. Then it uses 10-bit codes, continuing until the bits
limit is reached. (This flag applies to the compress command only.)
After the bits limit is attained, the compress command periodically
checks the compression ratio. If it is increasing, compress continues
to use the existing code dictionary. However, if the compression ratio
decreases, compress discards the table of substrings and rebuilds it
from the beginning. This lets the algorithm adapt to the next block of
the file.
[Digital] The -b flag must be the last flag on the command line.
-c Makes compress and uncompress write to the standard output; no files
are changed. The nondestructive behavior of zcat is identical to that
of uncompress -c.
-C [Digital] Produces output compatible with compress 2.0.
-d [Digital] Uncompresses a file.
-f or -F
When used with the compress command, forces the compression of file
even if no reduction in the size of the file will occur.
With both the compress and uncompress commands, if you run the command
in the background and -f is not specified, you are prompted as to
whether an existing file should be overwritten.
-n [Digital] Specifies that no header has been added.
-q [Digital] Specifies a quiet operation. This is the default. Diagnos-
tics messages, which display if you specify the -v flag, do not print.
If the -q and -v flags are both specified, the last one on the command
line is honored.
-v Prints the percentage reduction of each file when compressing the file.
Prints messages to standard error concerning the expansion of each file
when uncompressing the file. If the -q and -v flags are both speci-
fied, the last one on the command line is honored.
-V [Digital] Specifies a version.
PARAMETERS
file The path name of a file to be processed. If - (hyphen) is used,
standard input will be read.
The compress command will create an output file name by appending
a suffix of .Z to the input file name.
With the uncompress and zcat commands, if the file name has a .Z
suffix, the command will look for a file of that name. If the
suffix is not specified, the command will append the .Z suffix
before searching for the file.
The uncompress command will store output in a file named with the
.Z suffix removed if it was specified. If no .Z suffix is speci-
fied, the uncompress command will accept file as the name of the
output file and append a .Z suffix before searching for the file.
DESCRIPTION
The compress command reduces the size of the named files using adaptive
Lempel-Ziv coding.
Whenever possible, each file is replaced by one with the extension .Z while
keeping the same ownership modes, access, and modification times. If no
files are specified, standard input is compressed to the standard output.
Compressed files can be restored to their original form by using the
uncompress or zcat command.
The uncompress command replaces the compressed .Z file with an uncompressed
version of the file, identical to the file that was originally compressed
with compress; the .Z suffix is removed. When issuing an uncompress com-
mand, you can refer to the compressed target file with or without the .Z
suffix. If you do not specify the suffix, uncompress assumes it.
The zcat command writes the uncompressed version of a compressed file to
standard output. The compressed (.Z) files remain intact. The zcat command
is identical to uncompress -c. When issuing a zcat command, you can refer
to the compressed target file with or without the .Z suffix; if you do not
specify the suffix, zcat assumes it.
[Digital] The compress command 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), pp. 8-19.
The amount of compression obtained depends on the size of the input, the
number of bits per code, and the distribution of common substrings. Typi-
cally, files containing source code or plain text are reduced by 50 to 60
percent. Compression is generally much better than that achieved by Huff-
man coding (as used in the pack command) or adaptive Huffman coding, and
takes less time to compute.
ENVIRONMENT VARIABLES
The following environment variables affect the execution of compress,
uncompress, and zcat:
LANG Provides a default value for the internationalization variables
that are unset or null. If LANG is unset or null, the correspond-
ing value from the default locale is used. If any of the interna-
tionalization variables contain an invalid setting, the utility
behaves as if none of the variables had been defined.
LC_ALL If set to a non-empty string value, overrides the values of all
the other internationalization variables.
LC_CTYPE Determines the locale for the interpretation of sequences of bytes
of text data as characters (for example, single-byte as opposed to
multibyte characters in arguments).
LC_MESSAGES
Determines the locale for the format and contents of diagnostic
messages written to standard error.
NLSPATH Determines the location of message catalogues for the processing
of LC_MESSAGES.
NOTES
The pack, pcat, and unpack commands are marked to be withdrawn from the
XPG4-UNIX standard. These compress, uncompress, and zcat commands should
be used instead.
[Digital] The compress command may not preserve the extended file attri-
butes (property list) of a file, including the access control list (ACL) if
any. Verify that any ACLs have not been removed or modified after using
compress or uncompress.
EXAMPLES
To compress folder and print the savings, enter:
compress -v folder
The system responds with a message like:
folder: Compression: 43.94% -- replaced with folder.Z
The following command displays the uncompressed version of the testlog.Z
file:
zcat testlog.Z
DIAGNOSTICS
Usage: compress [-fvc] [-b maxbits] [file ...]
Invalid arguments were specified on the command line.
Missing maxbits
maxbits must follow -b.
file not in compressed format
The file cannot be uncompressed because it was never compressed.
file compressed with xx bits, can only handle yy bits.
The file was compressed by a program that could deal with more bits
than the compress code on this machine. Recompress the file with
smaller bits.
file already has .Z suffix -- no change
file is assumed to be already compressed. Rename the file and try
again.
file already exists; do you wish to overwrite (y or n)?
Respond y, or the locale's equivalent of a y, if you want the output
file to be replaced; n, or the locale's equivalent of a n, if not.
(The LC_MESSAGES variable determines the locale's equivalent of y or
n.)
uncompress: corrupt input
A SIGSEGV violation was detected, which usually means that the input
file is corrupted.
Compression: xx.xx%
Percentage of the input saved by compression (relevant only for -v).
-- not a regular file: unchanged
When the input file is not a regular file, (for example, a directory),
it is left unaltered.
-- has xx other links: unchanged
The input file has links; it is left unchanged. (See the ln command
for more information.)
-- file unchanged
No saving is achieved by compression. The input remains unchanged.
EXIT VALUES
The following exit values are returned:
compress command
0 Successful completion
1 An error occurred
2 One or more files were not compressed because they became larger.
>2 An error occurred
uncompress and zcat commands
0 Successful completion
>0 An error occurred
RELATED INFORMATION
Commands: pack(1), pcat(1), unpack(1)
Files: acl(4)
Standards: standards(5)