NAME
      compress, uncompress, zcat, compressdir,
      uncompressdir - compress and expand data

 SYNOPSIS
    Compress Files
      compress [-d] [-f] [-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 ...]

 DESCRIPTION
      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, standard
                               input is compressed
                               to the standard
                               output.

           uncompress          Restore compressed
                               files to original
                               form.  Resulting
                               files have original
                               filename, ownership,
                               and permissions, and
                               the .Z filename
                               suffix is removed.

9
           zcat                Restore compressed
                               files to original
                               form and send result
                               to standard output.

           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
                               specified,
                               compression is
                               applied to all files
                               starting with the
                               current directory.

                               options can 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 can include
                               any valid uncompress
                               command options
                               (they are passed
                               through to


      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.

    Options
      These commands recognize the following
      options in the combinations shown above in
      SYNOPSIS:

           -d          Decompress file.  compress
                       -d is equivalent to
                       uncompress.

           -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
                       overwritten.

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

           -b maxbits  Specify the maximum number
                       of bits the compress


                       can be any integer between 9
                       and 16.

      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 (default
      16).

      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 expanding data.

 RETURN VALUE
      These commands return the following values
      upon completion:

           0    Completed successfully.
           2    Last file is larger after
                (attempted) compression.
           1    An error occurred.

 DIAGNOSTICS
      Usage: compress [-dfvcV] [-
                     b maxbits] [file ...]



9 - 4 Formatted: August 1, 1996

      Missing maxbits
                     maxbits must follow -b.

      file: not in compressed format
                     The file specified to
                     uncompress has not been
                     compressed.

 bits
      file: compressed with xx bits, can only handle yy
                     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.

 or n)?
      file already exists; do you wish to overwrite (y
                     Respond y if you want the
                     output to replace the existing
                     file; 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.)
9


                       - 5 Formatted:  August 1, 1996

                     unaltered.

      -- has xx other links: unchanged
                     The input file has links and
                     has been left unchanged.  See
                     ln(1) for more information.

      -- file unchanged
                     No savings is achieved by
                     compression.  The input
                     remains unaltered.

 EXAMPLES
      Compress the file named zenith and print
      compression information to the terminal:

                compress -v zenith

           The terminal display shows a line
           resembling the following:

                zenith: Compression: 23.55% --
                replaced with zenith.Z

           indicating that the compressed file is
           23.55% smaller than the original, or

                zenith: Compression: -12.04% --
                file unchanged

           indicating that an additional 12.04%
           space must be used to compress the file.

      To undo the compression, type:

                uncompress zenith.Z

           or

                compress -d zenith.Z

           This restores file zenith.Z to its
           original uncompressed form and name.

 WARNINGS
      Although compressed files are compatible
      between machines with large memory, -b12



9 - 6 Formatted: August 1, 1996



      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)).

 AUTHOR
      compress was developed by Joseph M. Orost,
      Kenneth E. Turkowski, Spencer W. Thomas, and
      James A. Woods.

 FILES
      *.Z            Compressed file created by
                     compress and removed by
                     uncompress.

 SEE ALSO
      compact(1), pack(1), acl(5).





























9


                       - 7 Formatted:  August 1, 1996