pack(1) General Commands Manual pack(1)
NAME
pack, pcat, unpack - Compresses and expands files
SYNOPSIS
pack [-f] [-] file[.z]...
unpack file[.z]...
pcat file[.z]...
STANDARDS
Interfaces documented on this reference page conform to industry standards as follows:
pack: XCU5.0
pcat: XCU5.0
unpack: XCU5.0
Refer to the standards(5) reference page for more information about industry standards and associated tags.
OPTIONS
Displays statistics about the input files. The statistics are calculated from a Huffman minimum redundancy code tree built on a byte-by-
byte basis. Repeating the - (dash) on the command line toggles this function. Forces compaction of input files.
Note
These options are applicable to the pack command only.
OPERANDS
A pathname of a file to be compressed or uncompressed.
If the suffix is included on the pack command, pack searches for files without that suffix. If the suffix is not included, the
files created have the original name with appended.
If the suffix is included on a pcat or unpack command, the command processes files with that name. If the suffix is not included,
the command appends to the file name.
Files created by the unpack command will not have the suffix.
DESCRIPTION
The pack command
The pack command stores the specified file in a compressed form. The input file is replaced by a packed file with a name derived from the
original file name (file.z), with the ownership, modes, access time and modification time of the original file preserved, if the invoking
process has appropriate privileges.
Directories cannot be compressed.
If pack cannot create a smaller file, it stops processing and reports that it is unable to save space, unless you specify the -f option.
(The -f option forces packing to occur even if the files cannot benefit from packing.) A failure to save space generally happens with
small files or files with uniform character distribution.
The amount of space saved depends on the size of the input file and the character frequency distribution. Because a decoding tree forms
the first part of each file, you will generally not be able to save space with files smaller than three blocks. Typically, text files are
reduced 25 to 40 percent.
Object files, which use a larger character set and have a more uniform distribution of characters, show only a 10 percent reduction when
packed.
The exit value of the pack command is the number of files that it could not pack. Packing is not done under any one of the following con-
ditions: The file is already packed. The file has links. The file is a directory. The file cannot be opened. No storage blocks are
saved by packing. This is overridden by the -f option. A file called file.z already exists. The file cannot be created. An I/O error
occurs during processing. The file is empty.
The pcat command
The pcat command reads the specified files, unpacks them, and writes them to standard output.
The exit value of pcat is the number of files it was unable to unpack. A file cannot be unpacked if any one of the following occurs: The
file cannot be opened. The file is not a packed file. [Tru64 UNIX] The file name (exclusive of the has more than 12 bytes and it resides
on a System V file system.
The unpack command
The unpack command expands files created by pack. For each file specified, unpack searches for a file called file.z. If this file is a
packed file, unpack replaces it by its expanded version. The unpack command names the new file name by removing the suffix from file. The
new file has the same access modes, access and modification dates, and owner as the original packed file.
The exit value is the number of files the unpack command was unable to unpack. A file cannot be unpacked if any one of the following
occurs: The file cannot be opened. The file is not a packed file. A file with the unpacked file name already exists. The unpacked file
cannot be created.
NOTES
The pack, pcat and unpack utilities are marked LEGACY in XCU Issue 5. Both pcat and unpack operate only on files ending in you specify a
file name that does not end in pcat and unpack add the suffix and search the directory for a file name with that suffix. [Tru64 UNIX] The
unpack command writes a warning to standard output if the file it is unpacking has links. The new unpacked file has a different inode than
the packed file from which it was created. However, any other files linked to the packed file's original inode still exist and are still
packed. [Tru64 UNIX] If pack is used on files residing on a System V file system, the file names must contain no more than 12 bytes to
allow space for the added extension. [Tru64 UNIX] If you try to use pack on a very small file, you might receive the following message:
pack filename: No saving -- file unchanged The pack, pcat, and unpack commands are marked to be withdrawn from the XPG4-UNIX standard. The
compress, uncompress, and zcat commands should be used instead.
EXIT STATUS
The following exit values are returned:
The pack command
Successful completion. [Tru64 UNIX] The number of files that could not be packed.
The pcat command
Successful completion. [Tru64 UNIX] The number of files that could not be unpacked.
The unpack command
Successful completion. [Tru64 UNIX] The number of files that could not be unpacked.
EXAMPLES
To compress files, enter: pack chap1 chap2
This compresses the files chap1 and chap2, replacing them with files named chap1.z and chap2.z. The pack command displays the per-
cent decrease in size for each file. To display statistics about the amount of compression done, enter: pack - chap1 - chap2
This compresses the files chap1 and chap2 and displays statistics about chap1, but not about chap2. The first - (dash) turns on the
statistic display, and the second turns it off. To display compressed files, enter: pcat chap1.z chap2 | more
This displays the compressed files chap1.z and chap2.z on the screen in expanded form, a page at a time (more). The pcat command
added the to the end of chap2, even though it was not entered. To use a compressed file without expanding the copy stored on disk,
enter: pcat chap1.z | grep 'Greece'
This pipes the contents of chap1.z in its expanded form to the grep command. To unpack packed files, enter: unpack chap1.z chap2
This expands the packed files chap1.z and chap2.z, replacing them with files named chap1 and chap2. You can give unpack file names
either with or without the suffix.
ENVIRONMENT VARIABLES
The following environment variables affect the execution of pack, pcat, and unpack: Provides a default value for the internationalization
variables that are unset or null. If LANG is unset or null, the corresponding value from the default locale is used. If any of the inter-
nationalization variables contain an invalid setting, the utility behaves as if none of the variables had been defined. If set to a non-
empty string value, overrides the values of all the other internationalization variables. Determines the locale for the interpretation of
sequences of bytes of text data as characters (for example, single-byte as opposed to multi-byte characters in arguments). Determines the
locale for the format and contents of diagnostic messages written to standard error. Determines the location of message catalogues for the
processing of LC_MESSAGES.
SEE ALSO
Commands: cat(1), compress(1), uncompress(1), zcat(1)
Standards: standards(5)
pack(1)