User Commands
     pack, pcat, unpack - compress and expand files

Synopsis:       pack [ -f ] [ - ] file ...
                      pcat file ...
                      unpack file ...

Description:
  pack
     The pack command attempts to store the specified files in  a  compressed form.  Wherever possible (and useful),
     each input  file file is replaced by a packed file file.z with the  same  access  modes, access and modified dates, and
     owner as those  of file.  If pack is successful, file will be removed.

     The amount of compression obtained depends on  the  size  of the  input  file  and  the character frequency
     distribution. Because a decoding tree forms the  first  part  of  each  .z  file,  it  is  usually  not worthwhile to pack
     files smaller  than three blocks, unless the character frequency  distribution  is  very skewed, which may occur with
     printer plots or  pictures.

     Typically, text files are reduced to 60-75% of their  original  size.   Load  modules, which use a larger character set
     and have a more uniform  distribution  of  characters,  show little  compression,  the packed versions being about
     90% of  the original size.

     pack returns a value that is the number  of  files  that  it  failed to compress.

     No packing will occur if:
          o the file appears to be already packed
          o the file name has more than 14 - 2 bytes
        *o the file has links
        *o the file is a directory
          o the file cannot be opened
          o the file is empty
        *o no disk storage blocks will be saved by packing
          o a file called file.z already exists
          o the .z file cannot be created
          o an I/O error occurred during processing.

     The last segment of the file name must contain no more  than 14  -  2 bytes to allow space for the appended .z
     extension.  Directories cannot be compressed.

pcat
     The pcat command does for packed files what cat does  for ordinary files, except that pcat cannot be used as a
      filter.  The specified files are unpacked and written to the standard  output.

     pcat returns the number of files it was  unable  to  unpack. Failure may occur if:
          o the file cannot be opened;
          o the file does not appear to be the output of pack.

  unpack
     The unpack command expands files created by pack.  For  each  file  specified  in the command, a search is made
     for a file called file.z (or just file, if file ends in .z).   If  this  file  appears  to  be  a  packed file, it is replaced by its
     expanded version.  The new file has the .z  suffix  stripped from  its  name,  and  has the same access modes, access
     and  modification dates, and owner as those of the packed file.

     unpack returns a value that is the number of  files it was unable  to  unpack. Failure may occur for the same reasons
     that it may in pcat, as well as for the following:

          o a file with the ``unpacked'' name already exists;
          o the unpacked file cannot be created.
          o the filename (excluding the .z  extension)  has  more  than 14 bytes.

OPTIONS
  -f        Forces packing of file.  This is useful for  causing  an entire directory to be packed even if some  of the files
            will not benefit.  Packed  files  can be restored to their original form using unpack or  pcat.

OPERANDS
    file      A path name of a file to be packed,  unpacked,  or  pcated; file can include or omit the .z suffix.

     -         pack uses Huffman (minimum redundancy) codes on  a  byte-by-byte basis.  If the - argument is used, an
               internal flag is set that  causes  the  number  of   times  each  byte is used, its relative frequency,
               and the code for the byte to  be  printed  on  the  standard  output.   Additional occurrences of - in  place of
               file will cause the internal flag  to  be  set and reset.

USAGE
     See largefile(5) for the  description  of  the  behavior  of pack,  pcat, and unpack when encountering files greater
     than   or equal to 2 Gbyte (2**31 bytes).

EXAMPLES
     To view a packed file named file.z use:      % pcat file.z     or just:   % pcat file
     To make an unpacked copy, say nnn, of a  packed  file  named file.z (without destroying file.z) use the command:
          % pcat file >nnn

ENVIRONMENT
     See environ(5) for descriptions of the following environment  variables  that  affect  the  execution  of  pack, pcat,
     and unpack:  LC_CTYPE, LC_MESSAGES, and NLSPATH.

SEE ALSO
     cat(1),  compress(1),  zcat(1),  attributes(5),  environ(5),   largefile(5)