unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (HP-UX-11.11)
Page:
Section:
Apropos / Subsearch:
optional field



 pax(1)								      pax(1)




 NAME
      pax - Extracts, writes, and lists archive files; copies files and
      directory hierarchies

 SYNOPSIS
    Listing Member Files of Archived Files
      pax [-cdnv] [-f archive] [-s replstr ] ... [pattern ...]

    Extracting Archive Files
      pax -r [-cdiknuvy] [-f archive] [-p string ] ... [-s replstr ] ...
      [pattern ...]

    Writing Archive Files
      pax -w [-adituvXy] [-b blocking] [-f archive] [-s replstr ] ... [-x
      format] [file ...]

    Copying Files
      pax -r -w [-diklntuvXy] [-p string ] ... [-s replstr ] ... [file ...]
      directory

 DESCRIPTION
      The pax command extracts and writes member files of archive files;
      writes lists of the member files of archives; and copies directory
      hierarchies. The -r and -w flags specify the archive operation
      performed by the pax command.

      The pattern argument specifies a pattern that matches one or more
      paths of archive members. A \ (backslash) character is not recognized
      in the pattern argument and it prevents the subsequent character from
      having any special meaning. If no pattern argument is specified, all
      members are selected in the archive.

      If a pattern argument is specified, but no archive members are found
      that match the pattern specified, the pax command detects the error,
      exits with a nonzero exit status, and writes a diagnostic message.

      The pax command can read both tar and cpio archives.  In the case of
      cpio, this means that pax can read ASCII archives (which are created
      with cpio -c) and binary archives (which are created without the -c
      flag).  The supported archive formats are automatically detected on
      input.

      pax can also write archives that tar and cpio can read; by default,
      pax writes archives in the ustar extended tar interchange format.	 pax
      also writes ASCII cpio archives; use the -x cpio flag to specify this
      extended cpio output format.

    Options
      -a	     Appends files to the end of the archive.  Certain
		     devices might not support appending.




 Hewlett-Packard Company	    - 1 -   HP-UX Release 11i: November 2000






 pax(1)								      pax(1)




      -b blocking    Specifies the block size for output to be the positive
		     decimal integer of bytes specified by the blocking
		     argument. The block size value cannot exceed 32,256.
		     Blocking is automatically determined on input.

		     Do not specify a value for the blocking argument larger
		     than 32768. Default blocking when creating archives
		     depends on the archive format. (See the -x flag
		     description.)

      -c	     Matches all file or archive members except those
		     specified by the pattern or file arguments.

      -d	     Causes directories being copied or archived, or
		     archived directories being extracted, to match only the
		     directory or archived directory itself and not the
		     contents of the directory or archived directory.

      -f archive     Specifies the path of an archive file to be used
		     instead of standard input (when the -w flag is not
		     specified) or the standard output (when the -w flag is
		     specified but the -r flag is not). When specified with
		     the -a flag, any files written to the archive are
		     appended to the end of the archive.

      -i	     Renames files or archives interactively. For each
		     archive member that matches the pattern argument or
		     file that matches a file argument, a prompt is written
		     to the terminal (/dev/tty) that contains the name of a
		     file or archive member. A line is then read from the
		     terminal. If this line is empty, the file or archive
		     member is skipped. If this line consists of a dot, the
		     file or archive member is processed with no
		     modification to its name. Otherwise, its name is
		     replaced with the contents of the line.  The pax
		     command immediately exits with a nonzero exit status if
		     an End-of-File is encountered when reading a response
		     or if it cannot read or write to the terminal.

      -k	     Prevents the pax command from writing over existing
		     files.

      -l	     Links files when copying files.  When both -r and -w
		     are specified, hard links are established between the
		     source and destination file hierarchies whenever
		     possible.

      -n	     Selects the first archive member that matches each
		     pattern argument.	No more than one archive member is
		     matched for each pattern (although members of type
		     directory will still match the file hierarchy rooted at



 Hewlett-Packard Company	    - 2 -   HP-UX Release 11i: November 2000






 pax(1)								      pax(1)




		     that file).

      -p string	     Specifies one or more file characteristics to be
		     retained or discarded on extraction. The string
		     argument consists of the characters a, e, m, o, and p.
		     Multiple characteristics can be concatenated within the
		     same string and multiple -p flags can be specified. The
		     specification flags have the following meanings:

		     a	  Does not retain file-access times.

		     e	  Retains the user ID, group ID, access permission,
			  access time, and modification time.

		     m	  Does not retain file-modification times.

		     o	  Retains the user ID and the group ID.

		     p	  Retains the access permission.

		     Note that "retain" means that an attribute stored in
		     the archive is given to the extracted file, subject to
		     the permissions of the invoking process; otherwise, the
		     attribute is determined as part of the normal file
		     creation action.

		     If neither the e nor the o flag is specified, or the
		     user ID and group ID are not retained, the pax command
		     does not set the S_ISUID and S_ISGID bits of the access
		     permission. If the retention of any of these items
		     fails, the pax command writes a diagnostic message to
		     standard error. Failure to retain any of the items
		     affects the exit status, but does not cause the
		     extracted file to be deleted. If specification flags
		     are duplicated or conflict with each other, the ones
		     given last take precedence. For example, if -p eme is
		     specified, file-modification times are retained.

      -r	     Reads an archive file from the standard input.

      -s	     Modifies file-member or archive-member names specified
		     by the pattern or file arguments according to the
		     substitution expression replstr, using the syntax of
		     the ed command. The substitution expression has the
		     following format:

			  -s/old/new/[gp]

		     where as in the ed command, old is a basic regular
		     expression and new can contain an &&amp&amp& (ampersand), \n (n
		     is a digit) back references, or subexpression matching.



 Hewlett-Packard Company	    - 3 -   HP-UX Release 11i: November 2000






 pax(1)								      pax(1)




		     The old string can also contain newline characters.

		     Any nonnull character can be used as a delimiter (the /
		     (slash) character is the delimiter in the previous
		     format). Multiple -s flag expressions can be specified;
		     the expressions are applied in the order specified,
		     terminating with the first successful substitution. The
		     optional trailing g character performs as in the ed
		     command. The optional trailing p character causes
		     successful substitutions to be written to the standard
		     error. File-member or archive-member names that
		     substitute to the empty string are ignored when reading
		     and writing archives.

      -t	     Causes the access times of the archived files to be the
		     same as they were before being read by the pax command.

      -u	     Ignores files that are older (having a less recent file
		     modification time) than a preexisting file or archive
		     member with the same name.

		     When extracting files (-r flag), an archive member with
		     the same name as a file in the file system is extracted
		     if the archive member is newer than the file.

		     When writing files to an archive file (-w flag), an
		     archive member with the same name as a file in the file
		     system is superseded if the file is newer than the
		     archive member.

		     When copying files to a destination directory (-rw
		     flags), the file in the destination hierarchy is
		     replaced by the file in the source hierarchy or by a
		     link to the file in the source hierarchy if the file in
		     the source hierarchy is newer.

      -v	     Writes information about the process. If neither the -r
		     or -w flags are specified, the -v flag produces a
		     verbose table of contents that resembles the output of
		     ls -l; otherwise, archive-member pathnames are written
		     to standard error.

      -w	     Writes files to the standard output in the specified
		     archive format.

      -x format	     Specifies the output archive format. The pax command
		     recognizes the following formats:

		     cpio	    Extended cpio interchange format. The
				    default blocking value for this format
				    for character special archive files is



 Hewlett-Packard Company	    - 4 -   HP-UX Release 11i: November 2000






 pax(1)								      pax(1)




				    5120. Blocking values from 512 to 32,256
				    in increments of 512 are supported.

		     ustar	    Extended tar interchange format.  This
				    is the default output archive format.
				    The default blocking value for this
				    format for character special archive
				    files is 10240. Blocking values from 512
				    to 32,256 in increments of 512 are
				    supported.

		     Any attempt to append to an archive file in a format
		     different from the existing archive format causes the
		     pax command to exit immediately with a nonzero exit
		     status.

      -X	     When traversing the file hierarchy specified by a
		     pathname, the pax command does not descend into
		     directories that have a different device ID.

      -y	     Prompts interactively for the disposition of each file.
		     Substitutions specified by -s flags are performed
		     before you are prompted for disposition.  An EOF marker
		     or an input line starting with the character q causes
		     pax to exit.  Otherwise, an input line starting with
		     anything other than y causes the file to be ignored.
		     This flag cannot be used in conjunction with the -i
		     flag.

    Option Interaction and Processing Order
      The flags that operate on the names of files or archive members (-c,
      -i, -n, -s, -u, and -v) interact as follows.

      When extracting files (-r flag), archive members are selected, using
      the modified names, according to the user-specified pattern arguments
      as modified by the -c, -n, and -u flags.	Then, any -s and -i flags
      modify, in that order, the names of the selected files. The -v flag
      writes the names resulting from these modifications.

      When writing files to an archive file (-w flag), or when copying
      files, the files are selected according to the user-specified
      pathnames as modified by the -n and -u flags. Then, any -s and -i
      flags modify, in that order, the names resulting from these
      modifications.  The -v flag writes the names resulting from these
      modifications.

      If both the -u and -n flags are specified, the pax command does not
      consider a file selected unless it is newer than the file to which it
      is compared.





 Hewlett-Packard Company	    - 5 -   HP-UX Release 11i: November 2000






 pax(1)								      pax(1)




    Listing Member Files of Archived Files
      When neither the -r nor the -w flags are specified, the pax command
      writes the names of the members of the archive file read from the
      standard input, with pathnames matching the specified patterns, to the
      standard output. If a named file is a directory, the file hierarchy
      contained in the directory is also written.  You can specify the pax
      command without the -r or -w flags with the -c, -d, -f, -n, -s, and -v
      flags, and with the pattern argument.

      If neither the -r or -w flags are included, pax lists the contents of
      the specified archive, one file per line.	 pax lists hard link
      pathnames as follows:

	   pathname==linkname

      pax lists symbolic link pathnames as follows:

	   pathname->&gt&gt>linkname

      In both of the preceding cases, pathname is the name of the file that
      is being extracted, and linkname is the name of a file that appeared
      earlier in the archive.

      If the -v flag is specified, the listing of hard link pathnames is
      output in the ls -l command format.

    Extracting Archive Files
      When the -r flag is specified, but the -w flag is not, the pax command
      extracts the members of an archive file read from the standard input,
      and with pathnames matching the pattern argument if one is specified.
      If an extracted file is a directory, the file hierarchy contained in
      the directory is also extracted. The extracted files are created
      relative to the current file hierarchy.  The -r flag can be specified
      with the -c, -d, -f, -n, -s, and -v flags, and a pattern argument.

      The access and modification times of the extracted files are the same
      as the archived files. The access permissions of the extracted files
      remain as archived unless affected by the user's default file creation
      mode. The S_ISUID and S_ISGID bits of the extracted files are cleared.

      If intermediate directories are necessary to extract an archive
      member, the pax command creates the directories with access
      permissions set as the bitwise inclusive OR of the values of the
      S_IRWXU, S_IRWXG, and S_IRWXO options.

      If the selected archive format supports the specification of linked
      files (both the tar and cpio formats do), it is an error if these
      files cannot be linked when the archive is extracted.  pax informs you
      of the error and continues processing.





 Hewlett-Packard Company	    - 6 -   HP-UX Release 11i: November 2000






 pax(1)								      pax(1)




    Writing Archive Files
      When the -w flag is specified and the -r flag is not, the pax command
      writes the contents of the files specified by the file arguments to
      the standard output in an archive format. If no file arguments are
      specified, a list of files to copy, one per line, is read from the
      standard input. When the file argument specifies a directory, all of
      the files contained in the directory are written. The -w flag can be
      specified with the -b, -d, -f, -i, -s, -t, -u, -v, -x, and -X flags
      and with file arguments.

      If -w is specified, but no files are specified, standard input is
      used.  If neither -f or -w are specified, standard input must be an
      archive file.

    Copying Files
      When both the -r and -w flags are specified, the pax command copies
      the files specified by the file arguments to the destination directory
      specified by the directory argument. If no file arguments are
      specified, a list of files to copy, one per line, is read from the
      standard input. If a specified file is a directory, the file hierarchy
      contained in the directory is also copied. The -r and -w flags can be
      specified with the -d, -i, -k, -l, -p, -n, -s, -t, -u, -v, and -X
      flags and with the file arguments.  A directory argument must be
      specified.

      Copied files are the same as if they were written to an archive file
      and subsequently extracted, except that there may be hard links
      between the original and the copied files.

 RETURN VALUE
      The pax command returns a value of 0 (zero) if all files were
      successfully processed; otherwise, pax returns a value greater than 0
      (zero).

 EXAMPLES
      To copy the contents of the current directory to the tape drive,
      enter:

	   pax -w -f /dev/rmt/0m .

      To copy the olddir directory hierarchy to newdir enter:

	   mkdir newdir
	   cd olddir
	   pax -rw olddir newdir

      To read the archive a.pax, with all files rooted in the directory /usr
      in the archive extracted relative to the current directory, enter:

	   pax -r -s ',//*usr//*,,' -f a.pax




 Hewlett-Packard Company	    - 7 -   HP-UX Release 11i: November 2000






 pax(1)								      pax(1)




      All of the preceding examples create archives in tar format.

      The following pairs of commands demonstrate conversions from cpio and
      tar to pax.  In all cases, the examples show comparable command-line
      usage rather than identical output formats.  The -x flag can be
      specified to the pax commands shown here, producing archives to select
      specific output formats:

	   ls * | cpio -ocv
	   pax -wdv *

	   find /mydir -type f -print | cpio -oc
	   find /mydir -type f -print | pax -w

	   cpio -icdum <&lt&lt&lt; archive
	   pax -r <&lt&lt&lt; archive

	   (cd /fromdir;find . -print) | cpio -pdlum /todir
	   pax -rwl /fromdir /todir

	   tar cf archive *
	   pax -w -f archive *

	   tar xfv - <&lt&lt&lt; archive
	   pax -rv <&lt&lt&lt; archive

	   (cd /fromdir; tar cf - . ) | (cd /todir; tar xf -)
	   pax -rw /fromdir /todir

    Notes
      When you use the -i flag (interactively renames files) on files to
      which there are hard links, pax does not create hard links to the
      renamed files.

 WARNINGS
      Because of industry standards and interoperability goals, pax does not
      support the archival of files larger than 2GB or files that have
      user/group IDs greater than 60K.	Files with user/group IDs greater
      than 60K are archived and restored under the user/group ID of the
      current process.

 AUTHOR
      pax was developed by Mark H. Colburn, OSF, and HP.

 SEE ALSO
      ed(1), tar(4).

 STANDARDS CONFORMANCE
      pax: XPG4, POSIX.2





 Hewlett-Packard Company	    - 8 -   HP-UX Release 11i: November 2000






 pax(1)								      pax(1)




      This implementation of pax is based upon a POSIX.2 draft
      specification.  HP intends to update pax to meet the final POSIX.2
      Standard once it completes, and thus the pax implementation is likely
      to change in a future release of HP-UX, possibly in ways incompatible
      with the current implementation.	HP recommends using the current
      implementation only if absolutely necessary.
















































 Hewlett-Packard Company	    - 9 -   HP-UX Release 11i: November 2000