paxarchiver for data interchange and file backup |
Command |
pax
[-cdNnqvz]
[-f archive]
[-s substitute] ...
[pattern ...]
pax -r
[-cdHhikNnuvz]
[-f archive]
[-o options] ...
[-p string] ...
[-s substitute] ...
[-V volpat | -Q]
[pattern ...]
pax -w
[-dHhiLNqtuvXz]
[-b blocksize]
[[-a] [-f archive]]
[-o options] ...
[-s substitute] ...
[-V volpat | -Q]
[-x format]
[pathname ...]
pax -r -w
[-diklLNquvX]
[-p string] ...
[-s substitute] ...
[pathname ...]
directory
pax reads and writes archive files. An archive file records
the contents of files and directories, and can also record such information as
file modification dates and owner names (on POSIX-compliant systems). You can,
therefore, use a single archive file to transfer a directory structure from one
machine to another, or to backup/restore groups of files and directories.
pax is designed to provide all of the functionality
previously provided by both cpio and
tar.
A file stored inside an archive is called a component file; similarly, a
directory stored inside an archive is called a component directory. Together,
these files and directories make up the components of the archive file.
You can specify the name of the archive file with the -f
archive option. If you do not specify -f or neither
of -r or -w, the pax
read mode assumes the archive file is the standard input, while the
pax write mode assumes it is the standard output.
pax can read input archives and write output in
cpio and
tar formats; see the
-x option.
On POSIX-compliant systems, you need appropriate privileges to create block or
character special files.
pax .
If you do not specify either -r or -w,
you are in list mode. In the list mode, pax uses the
standard output to display the table of contents of an existing archive file.
pax only displays information on component files with names
that match one of the patterns given on the command line. Patterns are
described in a later section of this reference page.
-rIf you specify -r but not -w,
you are in read mode. pax -r reads
an archive file as input and extracts selected components from the archive.
By default, pax -r selects the
components using patterns given on the command line. If the archive
contains several components with the same name, pax
-r extracts each of them in sequence with each new
file overwriting the previous one of the same name. If the extracted file
is a directory, stored files within that directory are also extracted and
placed in the extracted directory. Ownership and permissions of the
extracted files are discussed under the -p option.
-wIf you specify -w but not -r,
you are in write mode. In write mode, pax writes out
an archive file that contains the specified pathnames as a component.
If pathname is a directory, pax writes an
archive file that contains all the files and subdirectories under that
directory. If you do not specify a pathname, pax
-w reads the standard input to get a list of path
names to select, expecting one path name per line.
-r -wIf you specify both -r and -w,
you are in copy mode. In copy mode, pax reads the
specified pathnames and copies them to the specified
directory. In this case, the given directory must already
exist and you must be able to write to that directory. If pathname
is a directory, pax -r
-w copies all the files and subdirectories under that
directory as well as the directory itself. If you do not specify a
pathname, pax -r
-w reads the standard input to get a list of path
names to copy, expecting one path name per line.
-aappends specified files/directories to the end of an existing archive.
pax does not append to the end of a compressed file or
to an archive file of a different format. If the archive doesn't already
exist, pax creates it.
-b blocksizespecifies the blocksize in an output operation. Each output
operation writes blocksize bytes, where blocksize is an
integer appropriate to the output device. If b follows the
blocksize number, blocksize is the given number of 512-byte blocks.
If k follows the blocksize number, the block size is
the given number of 1024-byte blocks. When reading an archive,
pax automatically determines the block size. The
default blocksize is 10k for
tar archives, 5k
for cpio archives. The
blocksize must be at least 512 bytes for reading.
-cselects all those files that do not match a pattern given on the command line; this is the opposite of the usual behavior.
-ddoes not traverse directories. A pattern matching a directory only extracts the directory itself. When creating an archive, a directory name only stores the directory itself.
-f archivelets you specify the name of the archive file instead of using the standard input for list and read modes and the standard output for write mode. archive can also be a device name.
-Hcreates and reads pax archives that contain
extraneous header characters, for compatibility with previous versions of
MKS pax. The -H option is only
useful when working with cpio
archives or pax archives created with the
-xcpiob option.
-hcreates and reads pax archives with headers
structured in a "little-endian" pattern. This option is only useful when
working with cpio archives or
pax archives created with the
-xcpiob option.
The term "little-endian" refers to the internal ordering of bytes representing numbers, stipulating that the least significant values come first. This is the common standard for PCs, but is contrary to the "big-endian" standard of most UNIX machines.
The default for MKS pax when writing
cpiob archives is "big-endian." For example, the 32-bit
hexadecimal number 1234, written as a binary
cpio header using the
-h option, would be stored in "little-endian" order:
Without the34 12
-h option, pax
defaults to "big-endian" ordering:
12 34
MKS pax automatically senses the byte ordering of
any binary cpio archive header
being read, and prints a notification to standard output if byte reversal
is present.
-ilets you rename files as pax works. When extracting,
pax displays the name of the component it is about to
extract and gives you the chance to specify a name for the extracted file.
When archiving, pax displays the name of the file or
directory it is about to record in the archive, and lets you specify a
different name to be assigned to the component. If you enter .
as the name, pax processes the file or directory with
no modification to the name. If you just press ENTER,
pax skips the file (doesn't extract or archive it).
pax terminates if you enter EOF.
If you also specify -s, pax makes
the given substitution before displaying the name of the component.
-kprevents the overwriting of existing files.
-Lfollows symbolic links. When you specify this option,
pax copies the target of a symbolic link to the
archive. Normally, only the symbolic link is copied.
-lin copy mode, creates links to the original files whenever possible, rather than copying them.
-ntreats any pattern argument as an ordinary path name.
pax only selects the first match to the given
pattern, even if the archive contains several components with the
same name. pax checks the given path names against the
archive before applying any renaming from the -i or
-s options. pax writes an error
message for each specified file that cannot be found in the archive.
-o optionsprovides information for modifying the algorithm for writing and
extracting files that the file format specified with -x
uses. Currently, there are no options supported.
-p stringspecifies file characteristic options. The string argument is a string specifying file characteristics to be retained or discarded on extraction. string can consist of any combination of the following specification characters:
adoes not preserve file access times.
epreserves the user ID, group ID, file mode, access time, and modification time.
mdoes not preserve file modification times.
opreserves the user ID and group ID.
ppreserves the file mode.
If a character in string duplicates or conflicts with another
character in string, the one given last takes precedence. By default,
pax restores modification time only.
-QIf multi-volume support is not specified with the -V
option, pax does not prompt for the next volume upon
an end-of-file or a write error.
-qfor read mode only, pax assumes that all created
files are text files and extracts them to the local text file format. On
systems with fixed-length records, this might mean appending blanks as
padding.
On UNIX and POSIX-compliant systems, pax removes all
carriage return characters (\r) and retains only the newline
(\n) characters.
-rreads an archive file from standard input.
-s substitutemodifies path names using a substitution command substitute.
This is similar to the substitution command of the
ed text editor. The full option
has the form
-s /regexp/string/[gp]
where regexp is a basic regular expression (see
regexp) and string is
a string that pax inserts in place of matches for the
regular expression. string can contain an ampersand
& (standing for the string matching regexp), or
\1, \2, and so on (with the meanings defined in
regexp for subexpression
matching).
Normally, -s only replaces the first match for
regexp. A g following the string replaces all
matches in the line.
A p following the string prints all successful
substitutions on the standard error stream. pax
displays a substitution in the format
oldname >> newname
In the previous example of substitution, the slash (/) is
used as the character separating parts of substitute; you can use
any non-null character instead, but be careful not to use any character
that could be a part of the path name checked by pax,
unless it is properly escaped.
There may be more than one -s option on the command
line. In this case, pax tries the substitutions in the
order given. pax stops trying to make these
substitutions as soon as it makes its first successful substitution. If
the null string replaces a file name, pax ignores that
file name on both input and output.
-tafter reading files being archived, resets the access time to that
prior to pax's access.
-ucompares component dates to dates of existing files with the same name.
In read mode, pax extracts a file only if its
modification date is more recent than the modification date on an existing
file of the same name. In other words, it doesn't overwrite an existing
file if the existing file is newer than the one in the archive.
Similarly, in copy mode, pax does not overwrite an
existing file if the existing file is newer than the one being copied.
In write mode, -u checks to see if the file being
added has the same name as a file already in the archive. If so, and if
the file being added is newer than the one in the archive,
pax leaves the old file in the archive and appends the
new one at the end. In this case, -u automatically
implies -a, which means that pax
adds new files to the end of the archive.
-V volpatprovides automatic multi-volume support. pax writes
output to files whose names are formatted using volpat. It replaces
any occurrence of # in volpat with the current volume
number. When you invoke pax with this option, it
prints a message requesting the appropriate volume and waits for you to
type a carriage return before proceeding with the operation.
pax issues a similar message when a write error or
read error occurs on the archive; the reasoning is that this kind of error
means that pax has reached the end of the volume and
is to go on to a new one. An interrupt at this point terminates
pax.
-vin list mode, displays a verbose table of contents; this verbose
format shows information about the components in the same format used by
the ls command with the
-l option. In other modes, this option lists path
names on the standard error stream just before beginning to process the
files/directories, but after any -i or
-s options have had their effect.
-wwrites files to the standard output in the specified archive format.
-Xwrites out only those files that are on the same device as their parent directory.
-x formatspecifies a format for an output archive. The format argument may be:
cpiostanding for the ASCII format used by the
cpio command, described in
the cpio command and the
cpio file format reference pages.
cpiobstanding for the binary format used by
cpio.
tarstanding for the old format of
tar files; see the
tar command and the tar
reference pages.
ustarstanding for the (new) USTAR format used by the
tar command.
The default format is ustar.
-zperforms compression. Output is at compression level 5. On input, any
compression level up to 9 is acceptable. In addition,
-z expands compressed archives on input.
pax uses the gzip format to compress files.
sh, including the fact that wild card
characters do not match the slash character (/). For example, the
pattern * stands for any string of characters excluding slash
characters. A pattern like *.c therefore selects all files with the
suffix .c under the current directory.
If you do not specify a pattern on a command line that accepts
patterns, pax assumes that all files and directories
match. As a result pax acts on the entire contents of the
current directory, plus the entire contents of all its subdirectories.
-v option is used in list mode,
pax produces a verbose table of contents for the archive.
The output has the format of the ls
command with the -l option, with the addition of the notation
indicating that linkname is a hard link for pathname.pathname == linkname
The following example extracts all the components of an archive file and puts them into the current directory.pax -w . >/dir/archive
The following example locates all the files that have changed in the past week (7 days) and archives them onto a diskette:pax -r * </dir/archive
find c:/ -mtime 7 | pax -w >a:/archive
0Successful completion.
1Failure due to any of the following:
2A usage error occurred.
pax generates an error message and continues to process
files if, when reading an archive, pax cannot extract a file,
create a link to a file, or preserve any of the modes, owner, or group of a file,
or if, when writing an archive, pax cannot find a particular
file. Although pax continues to process files, it returns a
status of 1. If any other sort of error occurs, pax
terminates immediately without attempting further processing.
If pax cannot create a link to a file, it does not create a
second copy of the file.
-L, -q, -V, and
-z options are extensions to the POSIX and XPG standards.
We strongly recommend, however, that you specify tape devices as described
under tape in the MKS Toolkit Reference Manual. For example
/dev/mt0
cpio binary storage method
(-x cpiob), pax cannot save files larger
than two gigabytes in size in an archive. When storing archives in an ASCII
formats, pax cannot save files larger than eight gigabytes
in size in an archive. However, other programs that extract files from such
archives may be unable to properly extract files larger than two gigabytes and
pax issues a warning to that effect when you attempt to save
such a file.
The -u option of pax calls the
sort utility. To ensure that this
option works correctly, you should make certain that the MKS Toolkit
sort utility (or one compatible with
it) is the first one located by the command search path.
cpio,
ls,
mt,
tar,
uncompress
iconv