Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ pack(1) — NEWS-os 5.0.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

cat(1)

compress(1)



pack(1)                  USER COMMANDS                    pack(1)



NAME
     pack, pcat, unpack - compress and expand files

SYNOPSIS
     pack [ - ] [ -f ] name ...

     pcat name ...

     unpack name ...

DESCRIPTION
     pack attempts to store the specified files in  a  compressed
     form.   Wherever possible (and useful), each input file name
     is replaced by a packed file name.z  with  the  same  access
     modes,  access  and  modified  dates,  and owner as those of
     name.  The -f option will force packing of  name.   This  is
     useful  for causing an entire directory to be packed even if
     some of the files will not benefit.  If pack is  successful,
     name will be removed.  Packed files can be restored to their
     original form using unpack or pcat.

     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  name  will  cause the internal flag 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  .z
     file,  it  is  usually  not worthwhile to pack files smaller
     than three blocks, unless the character frequency  distribu-
     tion  is  very skewed, which may occur with printer plots or
     pictures.

     Typically, text files are reduced to 60-75% of their  origi-
     nal  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:

          the file appears to be already packed;
          the file name has more than 12 characters;
          the file has links;
          the file is a directory;



                                                                1





pack(1)                  USER COMMANDS                    pack(1)



          the file cannot be opened;
          no disk storage blocks will be saved by packing;
          a file called name.z already exists;
          the .z 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 .z extension.
     Directories cannot be compressed.

     pcat does for packed files what  cat(1)  does  for  ordinary
     files,  except  that  pcat  cannot be used as a filter.  The
     specified files are unpacked and  written  to  the  standard
     output.  Thus to view a packed file named name.z use:

          pcat name.z
     or just:
          pcat name

     To make an unpacked copy, say nnn, of a  packed  file  named
     name.z (without destroying name.z) use the command:

          pcat name >nnn

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

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

     unpack expands files created by pack.  For  each  file  name
     specified in the command, a search is made for a file called
     name.z (or just name, if name 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:

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

SEE ALSO
     cat(1), compress(1).






                                                                2



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026