COMPRESS(1)	    UNIX Programmer's Manual	      COMPRESS(1)


NAME
     compress, uncompress, zcat - compress and expand data

SYNOPSIS
     compress [ -f ] [ -v ] [ -c ] [ -b bits ] [ name ... ]
     uncompress [ -f ] [ -v ] [ -c ] [ name ... ]
     zcat [ name ... ]

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 owner-
     ship 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.

     The -f option will force compression of name, even if it
     does not actually shrink or the corresponding name.Z file
     already exists.  Except when run in the background under
     /bin/sh, if -f is not given the user is prompted as to
     whether an existing name.Z file should be overwritten.

     The -c (``cat'') option makes compress/uncompress write to
     the standard output; no files are changed.  The nondestruc-
     tive 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.


Printed 11/26/99	  May 11, 1986				1


COMPRESS(1)	    UNIX Programmer's Manual	      COMPRESS(1)


     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.

     The -v option causes the printing of the percentage reduc-
     tion of each file.

     If an error occurs, exit status is 1, else if the last file
     was not compressed because it became larger, the status is
     2; else the status is 0.

DIAGNOSTICS
     Usage: compress [-fvc] [-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 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, (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.


Printed 11/26/99	  May 11, 1986				2


COMPRESS(1)	    UNIX Programmer's Manual	      COMPRESS(1)


BUGS
     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 (64KB or less,
     as exhibited by the DEC PDP series, the Intel 80286, etc.)

     compress should be more flexible about the existence of the
     `.Z' suffix.


Printed 11/26/99	  May 11, 1986				3


 
Generated: 2016-12-26
Generated by man2html V0.25
page hit count: 983
Valid CSS Valid XHTML 1.0 Strict