Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
pack(1)				 User Commands			       pack(1)

       pack, pcat, unpack - compress and expand	files

       pack [-f] [-] file...

       pcat file...

       unpack file...

       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

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

       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  ver-
       sions being about 90% of	the original size.

       pack returns a value that is the	number of files	that it	failed to com-

       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.

       The pcat	command	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.

       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.

       The  unpack command expands files created by pack. For each file	speci-
       fied 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 modi-
       fication	dates, and owner as those of the packed	file.

       unpack returns a	value that is the number of files it was unable	to un-
       pack.  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.

       The following options are supported by pack:

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

       The following operands are supported:

       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	inter-
		       nal flag	to be set and reset.

       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

       Example 1: Viewing a Packed File

       To view a packed	file named file.z use:

	      example% pcat file.z
	      or just:
	      example% pcat file

       Example 2: Making and Unpacked Copy:

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

	      example% pcat file >nnn

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

       The following exit values are returned:

       0	Successful completion.

       >0	An  error  occurred. The number	of files the command failed to
		pack/unpack is returned.

       See attributes(5) for descriptions of the following attributes:

       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       |Availability		     |SUNWesu			   |
       |CSI			     |Enabled			   |

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

SunOS 5.10			  20 Dec 1996			       pack(1)


Want to link to this manual page? Use this URL:

home | help