compress, uncompress, zcat - Compresses and expands data
compress [-cCdfFnqvV] [-b bits] [file...]
uncompress [-cCfFnqvV] [file...]
zcat [-n] [file...]
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
reference page for more information
about industry standards and associated tags.
Specifies the maximum number of bits to use to replace common substrings 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 option applies to the compress command only.)
The path name of a file to be processed. If - (hyphen) is used, standard input will be read.
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 command, 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.
[Compaq] 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. Typically,
files containing source code or plain text are reduced by 50 to 60 percent.
Compression is generally much better than that achieved by Huffman coding
(as used in the
command) or adaptive Huffman coding,
and takes less time to compute.
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.
command may not preserve the
extended file attributes (property list) of a file, including the access control
list (ACL) if any. Verify that any ACLs have not been removed or modified
The following exit values are returned:
An error occurred.
One or more files were not compressed because they became
An error occurred.
An error occurred.
Invalid arguments were specified on the command line.
cannot be uncompressed
because it was never compressed.
was compressed by a program
that could deal with more bits than the compress code on this machine. Recompress
the file with smaller bits.
is assumed to be already compressed.
Rename the file and try again.
y, or the locale's equivalent of
y, if you want the output file to be replaced;
n, or the locale's equivalent of a
n, if not.
the locale's equivalent of
violation was detected, which
usually means that the input file is corrupted.
Percentage of the input saved by compression (relevant only
When the input file is not a regular file, (for example, a
directory), it is left unaltered.
The input file has links; it is left unchanged. (See the
command for more information.)
No saving is achieved by compression. The input remains unchanged.
To compress folder and print the savings, enter: compress -v folder
The following environment variables affect the execution of
Provides a default value for the internationalization variables
that are unset or null. If
is unset or null, the corresponding value from the default locale is used.
If any of the internationalization variables contain an invalid setting, the
utility behaves as if none of the variables had been defined.
If set to a non-empty string value, overrides the values of
all the other internationalization variables.
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).
Determines the locale for the format and contents of diagnostic
messages written to standard error.
Determines the location of message catalogues for the processing
Commands: pack(1), pcat(1), unpack(1)