


      PPPPAAAACCCCKKKK((((1111))))                     ((((UUUUNNNNIIIIXXXX 5555....0000))))                    PPPPAAAACCCCKKKK((((1111))))



      NNNNAAAAMMMMEEEE
           pack, pcat, unpack - compress and expand files

      SSSSYYYYNNNNTTTTAAAAXXXX
           ppppaaaacccckkkk [ ---- ] name ...

           ppppccccaaaatttt name ...

           uuuunnnnppppaaaacccckkkk name ...

      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
           _P_a_c_k attempts to store the specified files in a compressed
           form.  Wherever possible (and useful), each input file _n_a_m_e
           is replaced by a packed file _n_a_m_e....zzzz with the same access
           modes, access and modified dates, and owner as those of _n_a_m_e
           .  If _p_a_c_k is successful, _n_a_m_e is removed.  Packed files can
           be restored to their original form by _u_n_p_a_c_k or ppppccccaaaatttt.

           _P_a_c_k uses Huffman (minimum redundancy) codes on a byte-by-
           byte basis.

           ----    is a request to print the number of times each byte is
                used, its relative frequency, and the code for the
                byte.  Additional uses of ---- in place of _n_a_m_e will cause
                the request to be set and reset.

           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 ....zzzz
           file, it is usually not worthwhile to pack files smaller
           than 8192 bytes, 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.

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

           No packing will occur if:

                the file appears to be already packed;
                the file name has more than 12 characters;
                the file has links;
                the file is a directory;
                the file cannot be opened;
                no disk storage blocks will be saved by packing;
                a file called _n_a_m_e....zzzz already exists;



      Page 1                                                   (9010-E)






      PPPPAAAACCCCKKKK((((1111))))                     ((((UUUUNNNNIIIIXXXX 5555....0000))))                    PPPPAAAACCCCKKKK((((1111))))



                the ....zzzz file cannot be created;
                an I/O error occurred during processing.

           The last segment of the file name must contain no more than
           12 characters to allow space for the appended ....zzzz extension.
           Directories cannot be compressed.

           _P_c_a_t does for packed files what _c_a_t(1) does for ordinary
           files.  The specified files are unpacked and written to the
           standard output.  To view a packed file named _n_a_m_e....zzzz use:

                pcat name.z
           or just:
                pcat name

           To make an unpacked copy, say _n_n_n, of a packed file named
           _n_a_m_e....zzzz (without destroying _n_a_m_e....zzzz) use the command:

                pcat name >nnn

           With no arguments, _p_c_a_t unpacks the standard input, and
           therefore can be used as a filter in a pipeline:

                pcat < packedfile.z | more

           _P_c_a_t returns the number of files it was unable to unpack.
           Failure may occur if:

                the file name (exclusive of the ....zzzz) has more than 12
                characters;
                the file cannot be opened;
                the file does not appear to be the output of _p_a_c_k.

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

           _U_n_p_a_c_k 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 _p_c_a_t, as well as for the following:

                a file with the ``unpacked'' name already exists;
                if the unpacked file cannot be created.





      Page 2                                                   (9010-E)






