home *** CD-ROM | disk | FTP | other *** search
-
- NAME
- compress, uncompress, zcat - compress and expand data
-
- SYYNOPSIS
- compress [ -f ] [ -v ] [ -c ] [ -V ] [ -b <bits> ] [ name ... ]
- uncompress [ -f ] [ -v ] [ -c ] [ -V ] [ name ... ]
- zcat [ -V ] [ name ... ]
-
- NOTE: These three executables are exactly the same, simply named
- differently causing different default action.
-
- DESCRIPTION
- Compress 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,
- the standard input is compressed to the standard output.
- Compressed files can be restored to their original form using
- uncompress or zcat.
-
- As of 1.16, AmigaUUCP's compress will decompress up to 16 bit
- compression formats. Default compression is 14 bits but may be
- set to 16 bits with the '-b 16' option. The minimum supported
- compression bits is 12.
-
- The -f option will force compression of name. 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 overwritten.
-
- The -c option makes compress/uncompress write to the standard
- output; no files are changed. The nondestructive behavior of
- zcat is identical to that of uncompress -c.
-
- 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), pp. 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 (default 16). Bits must be between 9 and
- 16. The default can be changed in the source to allow compress
- to be run on a smaller machine.
-
- After the bits 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 decreases, 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 bits
- 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.
-
- 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, text such as source code or
- English is reduced by 50-60%. 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.
-
- Under the -v option, a message is printed yielding the percentage
- of reduction for each file compressed.
-
- If the -V option is specified, the current version and compile
- options are printed on stderr.
-
- Exit status is normally 0; if the last file is larger after
- (attempted) compression, the status is 2; if an error occurs,
- exit status is 1.
-
- DIAGNOSTICS
- Usage: compress [-dfvcV] [-b maxbits] [file ...]
- Invalid options were specified on the command line.
- Missing maxbits
- Maxbits must follow -b.
- file: not in compressed format
- The file specified to uncompress has not been
- compressed.
- file: compressed with xx bits, can only handle yy bits
- 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
- The file is assumed to be already compressed.
- Rename the file and try again.
- file: filename too long to tack on .Z
- The file cannot be compressed because its name is
- longer than 12 characters. Rename and try again.
- This message does not occur on BSD systems.
- file already exists; do you wish to overwrite (y or n)?
- Respond "y" if you want the output file to be
- replaced; "n" if not.
- uncompress: corrupt input
- A SIGSEGV violation was detected which usually means
- that the input file has been 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, (e.g. a
- directory), it is left unaltered.
- -- has xx other links: unchanged
- The input file has links; it is left unchanged. See
- ln(1) for more information.
- -- file unchanged
- No savings is achieved by compression. The input
- remains virgin.
-