Annotation of coherent/g/usr/bin/pax/doc/pax.1, revision 1.1.1.1

1.1       root        1: .\" $Id: pax.1,v 1.1 88/12/23 18:02:22 mark Rel $
                      2: .TH PAX 1 "USENIX Association" ""
                      3: .SH NAME
                      4: pax \- portable archive exchange 
                      5: .SH SYNOPSIS
                      6: .TP \w'\fBpax\fR\ 'u
                      7: .B pax
                      8: .RB [ \-cimopuvy ]
                      9: .RI "[\fB\-f\fR" " archive" ]
                     10: .RI "[\fB\-s\fR" " replstr" ]
                     11: .RI "[\fB\-t\fR" " device" ] 
                     12: .RI [ pattern... ]
                     13: .TP \w'\fBpax\ \-r\fR\ 'u
                     14: .B "pax\ \-r"
                     15: .RB [ \-cimnopuvy ]
                     16: .RI "[\fB\-f\fR" " archive" ]
                     17: .RI "[\fB\-s\fR" " replstr" ] 
                     18: .RI "[\fB\-t\fR" " device" ] 
                     19: .RI [ pattern... ]
                     20: .TP \w'\fBpax\ \-w\fR\ 'u
                     21: .B "pax\ \-w"
                     22: .RB [ \-adimuvy ] 
                     23: .RI "[\fB\-b\fR" " blocking" ]
                     24: .RI "[\fB\-f\fR" " archive" ] 
                     25: .RI "[\fB\-s\fR" " replstr" ] 
                     26: .RI "[\fB\-t\fR" " device" ] 
                     27: .RI "[\fB\-x\fR" " format" ]
                     28: .RI [ pathname... ]
                     29: .TP \w'\fBpax\ \-rw\fR\ 'u
                     30: .B "pax\ \-rw"
                     31: .RB [ \-ilmopuvy ] 
                     32: .RI "[\fB\-s\fR" " replstr" ] 
                     33: .RI [ pathname... ]
                     34: directory
                     35: .SH DESCRIPTION
                     36: .I Pax 
                     37: reads and writes archive files which conform to the 
                     38: .B "Archive/Interchange File Format" 
                     39: specified in 
                     40: .IR "IEEE Std. 1003.1-1988" .
                     41: .I Pax
                     42: can also read, but not write, a number of other file formats
                     43: in addition to those specified in the 
                     44: .B "Archive/Interchange File Format"
                     45: description.
                     46: Support for these traditional file formats, such as V7 
                     47: .I "tar" 
                     48: and System V binary 
                     49: .I "cpio" 
                     50: format archives,
                     51: is provided for backward compatibility and to maximize portability.
                     52: .PP
                     53: .I Pax 
                     54: will also support traditional 
                     55: .I cpio 
                     56: and 
                     57: System V
                     58: .I tar
                     59: interfaces if invoked with the name
                     60: "cpio" or "tar" respectively.
                     61: See the 
                     62: .I cpio(1) 
                     63: or 
                     64: .I tar(1)
                     65: manual pages for more details.
                     66: .PP
                     67: Combinations of the
                     68: .B \-r 
                     69: and 
                     70: .B \-w
                     71: command line arguments specify whether 
                     72: .I pax 
                     73: will read, write or list the contents of the specified archive,
                     74: or move the specified files to another directory.
                     75: .PP
                     76: The command line arguments are:
                     77: .TP .5i
                     78: .B \-w
                     79: writes the files and directories specified by 
                     80: .I pathname
                     81: operands to the standard output together with the pathname and status 
                     82: information prescribed by the archive format used.
                     83: A directory
                     84: .I pathname
                     85: operand refers to the files and (recursively) subdirectories of that 
                     86: directory.
                     87: If no 
                     88: .I pathname 
                     89: operands are given, then the standard input is read to get a
                     90: list of pathnames to copy, one pathname per line.
                     91: In this case, only those pathnames appearing on the standard input are
                     92: copied.
                     93: .TP .5i
                     94: .B \-r
                     95: .I Pax
                     96: reads an archive file from the standard input.
                     97: Only files with names that match any of the 
                     98: .I pattern
                     99: operands are selected for extraction.
                    100: The selected files are conditionally created and copied relative to the
                    101: current directory tree, subject to the options described below.
                    102: By default, the owner and group of selected files will be that of the
                    103: invoking process, and the permissions and modification times will be the
                    104: sames as those in the archive.
                    105: .RS .5i
                    106: .PP
                    107: The supported archive formats are automatically detected on input.
                    108: The default output format is 
                    109: .IR ustar ,
                    110: but may be overridden by the 
                    111: .B \-x
                    112: .I format
                    113: option described below.
                    114: .RE
                    115: .TP .5i
                    116: .B \-rw
                    117: .I Pax 
                    118: reads the files and directories named in the
                    119: .I pathname
                    120: operands and copies them to the destination 
                    121: .IR directory .
                    122: A directory
                    123: .I pathname 
                    124: operand refers to the files and (recursively) subdirectories of that
                    125: directory.
                    126: If no 
                    127: .I pathname
                    128: operands are given, the standard input is read to get a list of pathnames
                    129: to copy, one pathname per line.
                    130: In this case, only those pathnames appearing on the standard input are
                    131: copied.
                    132: The directory named by the 
                    133: .I directory
                    134: operand must exist and have the proper permissions before the copy can
                    135: occur.
                    136: .PP
                    137: If neither the
                    138: .BR \-r " or " \-w 
                    139: options are given, then 
                    140: .I pax
                    141: will list the contents of the specified archive.
                    142: In this mode, 
                    143: .I pax 
                    144: lists normal files one per line, hard link pathnames as
                    145: .sp
                    146: .RS 1i
                    147: .IR pathname " == " linkname
                    148: .RE
                    149: .sp
                    150: and symbolic link pathnames (if supported by the implementation) as
                    151: .sp
                    152: .RS 1i
                    153: .IR pathname " -> " linkname
                    154: .RE
                    155: .sp
                    156: where 
                    157: .I pathname
                    158: is the name of the file being extracted, and
                    159: .I linkname
                    160: is the name of a file which appeared earlier in the archive.
                    161: .PP
                    162: If the 
                    163: .B \-v
                    164: option is specified, then 
                    165: .I pax 
                    166: list normal pathnames in the same format used by the 
                    167: .I ls
                    168: utility with the
                    169: .B \-l
                    170: option.
                    171: Hard links are shown as
                    172: .sp
                    173: .RS 1i
                    174: .IR "<ls -l listing>" " == " linkname
                    175: .RE
                    176: .sp
                    177: and symbolic links (if supported) are shown as
                    178: .sp
                    179: .RS 1i
                    180: .IR "<ls -l listing>" " -> " linkname
                    181: .RE
                    182: .sp 
                    183: .PP
                    184: .I Pax 
                    185: is capable of reading and writing archives which span multiple physical 
                    186: volumes.
                    187: Upon detecting an end of medium on an archive which is not yet completed,
                    188: .I pax 
                    189: will prompt the user for the next volume of the archive and will allow the 
                    190: user to specify the location of the next volume.
                    191: .SS Options
                    192: The following options are available:
                    193: .TP 1i
                    194: .B \-a
                    195: The files specified by
                    196: .I pathname
                    197: are appended to the specified archive.
                    198: .TP 1i
                    199: .BI \-b " blocking"
                    200: Block the output at
                    201: .I blocking
                    202: bytes per write to the archive file.
                    203: A 
                    204: .B k
                    205: suffix multiplies 
                    206: .I blocking 
                    207: by 1024, a
                    208: .B b 
                    209: suffix multiplies 
                    210: .I blocking 
                    211: by 512 and a 
                    212: .B m
                    213: suffix multiplies 
                    214: .I blocking 
                    215: by 1048576 (1 megabyte).
                    216: If not specified,
                    217: .I blocking 
                    218: is automatically determined on input and is ignored for 
                    219: .B \-rw.
                    220: .TP 1i
                    221: .B \-c
                    222: Complement the match sense of the the 
                    223: .I pattern
                    224: operands.
                    225: .TP 1i
                    226: .B \-d
                    227: Intermediate directories not explicitly listed in the archive are not 
                    228: created.
                    229: This option is ignored unless
                    230: the 
                    231: .B \-r
                    232: option is specified.
                    233: .TP 1i
                    234: .BI \-f " archive"
                    235: The
                    236: .I archive
                    237: option specifies the pathname of the input or output archive,
                    238: overriding the default of standard input for 
                    239: .B \-r
                    240: or standard output for
                    241: .BR \-w .
                    242: .TP 1i
                    243: .B \-i
                    244: Interactively rename files.
                    245: Substitutions specified by 
                    246: .B \-s
                    247: options (described below)
                    248: are performed before requesting the new file name from the user.
                    249: A file is skipped if an empty line is entered and
                    250: .I pax
                    251: exits with an exit status of 0 if 
                    252: .B EOF 
                    253: is encountered.
                    254: .TP 1i
                    255: .B \-l
                    256: Files are linked rather than copied when possible.
                    257: .TP 1i
                    258: .B \-m
                    259: File modification times are not retained.
                    260: .TP 1i
                    261: .B \-n
                    262: When 
                    263: .B \-r
                    264: is specified, but
                    265: .B \-w
                    266: is not, the 
                    267: .I pattern
                    268: arguments are treated as ordinary file names.
                    269: Only the first occurrence of each of these files in the input archive
                    270: is read.
                    271: The
                    272: .B pax
                    273: utility exits with a zero exit status after all files in the list have been
                    274: read.
                    275: If one or more files in the list is not found,
                    276: .B pax
                    277: writes a diagnostic to standard error for each of the files and exits with
                    278: a non-zero exit status.
                    279: the file names are compared before any of the 
                    280: .BR \-i ,
                    281: .BR \-s ,
                    282: or
                    283: .B \-y
                    284: options are applied.
                    285: .TP 1i
                    286: .B \-o
                    287: Restore file ownership as specified in the archive.
                    288: The invoking process must have appropriate privileges to accomplish this.
                    289: .TP 1i
                    290: .B \-p
                    291: Preserve the access time of the input files after they have been copied.
                    292: .TP 1i
                    293: .BI \-s " replstr"
                    294: File names are modified according to the substitution expression using the 
                    295: syntax of 
                    296: .I "ed(1)"
                    297: as shown:
                    298: .sp
                    299: .RS 2i
                    300: -s /\fIold\fR/\fInew\fR/\fB[\fRgp\fB]\fR
                    301: .RE
                    302: .RS 1i
                    303: .PP
                    304: Any non null character may be used as a delimiter (a / is used here as an
                    305: example).
                    306: Multiple 
                    307: .B \-s
                    308: expressions may be specified; the expressions are applied in the order
                    309: specified terminating with the first successful substitution.
                    310: The optional trailing 
                    311: .B p
                    312: causes successful mappings to be listed on standard error.
                    313: The optional trailing
                    314: .B g
                    315: causes the 
                    316: .I old 
                    317: expression to be replaced each time it occurs in the source string.
                    318: Files that substitute to an empty string are ignored both on input and
                    319: output.
                    320: .RE
                    321: .TP 1i
                    322: .BI \-t " device"
                    323: The
                    324: .I device
                    325: option argument is an implementation-defined identifier that names the input
                    326: or output archive device, overriding the default of standard input for
                    327: .B \-r
                    328: and standard output for
                    329: .BR \-w .
                    330: .TP 1i
                    331: .B \-u
                    332: Copy each file only if it is newer than a pre-existing file with the same
                    333: name.
                    334: This implies 
                    335: .BR \-a .
                    336: .TP 1i
                    337: .B \-v
                    338: List file names as they are encountered.
                    339: Produces a verbose table of contents listing on the standard output when both 
                    340: .B \-r 
                    341: and
                    342: .B \-w
                    343: are omitted,
                    344: otherwise the file names are printed to standard error as they are
                    345: encountered in the archive.
                    346: .TP 1i
                    347: .BI \-x " format"
                    348: Specifies the output archive
                    349: .IR format .
                    350: The input format, which must be one of the following, is automatically
                    351: determined when the
                    352: .B \-r 
                    353: option is used.
                    354: The supported formats are:
                    355: .TP 1i
                    356: .I cpio
                    357: The extended 
                    358: .I CPIO
                    359: interchange format specified in
                    360: .B "Extended CPIO Format" in 
                    361: .I "IEEE Std. 1003.1-1988."
                    362: .TP 1i
                    363: .I ustar
                    364: The extended 
                    365: .I TAR
                    366: interchange format specified in
                    367: .B "Extended TAR Format" in 
                    368: .I "IEEE Std. 1003.1-1988."
                    369: This is the default archive format.
                    370: .RE
                    371: .TP 1i
                    372: .B \-y
                    373: Interactively prompt for the disposition of each file.
                    374: Substitutions specified by 
                    375: .B \-s
                    376: options (described above)
                    377: are performed before prompting the user for disposition.
                    378: .B EOF
                    379: or an input line starting with the character
                    380: .B q
                    381: caused
                    382: .I pax
                    383: to exit.
                    384: Otherwise, an input line starting with anything other than 
                    385: .B y
                    386: causes the file to be ignored.
                    387: This option cannot be used in conjunction with the 
                    388: .B \-i 
                    389: option.
                    390: .PP
                    391: Only the last of multiple 
                    392: .B \-f 
                    393: or
                    394: .B \-t
                    395: options take effect.
                    396: .PP
                    397: When writing to an archive, the
                    398: standard input is used as a list of pathnames if no
                    399: .I pathname
                    400: operands are specified.
                    401: The format is one pathname per line.
                    402: Otherwise, the standard input is the archive file,
                    403: which is formatted according to one of the specifications in
                    404: .B "Archive/Interchange File format"
                    405: in 
                    406: .IR "IEEE Std. 1003.1-1988" ,
                    407: or some other implementation-defined format.
                    408: .PP
                    409: The user ID and group ID of the process, together with the appropriate
                    410: privileges, affect the ability of 
                    411: .I pax
                    412: to restore ownership and permissions attributes of the archived files.
                    413: (See 
                    414: .I "format-reading utility"
                    415: in
                    416: .B "Archive/Interchange File Format"
                    417: in 
                    418: .IR "IEEE Std. 1003.1-1988" ".)"
                    419: .PP
                    420: The options
                    421: .BR \-a ,
                    422: .BR \-c ,
                    423: .BR \-d ,
                    424: .BR \-i ,
                    425: .BR \-l ,
                    426: .BR \-p ,
                    427: .BR \-t ,
                    428: .BR \-u ,
                    429: and
                    430: .BR \-y 
                    431: are provided for functional compatibility with the historical
                    432: .I cpio
                    433: and
                    434: .I tar
                    435: utilities.
                    436: The option defaults were chosen based on the most common usage of these
                    437: options, therefore, some of the options have meanings different than
                    438: those of the historical commands.
                    439: .SS Operands
                    440: The following operands are available:
                    441: .TP 1i
                    442: .I directory
                    443: The destination directory pathname for copies when both the
                    444: .B \-r
                    445: and 
                    446: .B \-w
                    447: options are specified.
                    448: The directory must exist and be writable before the copy or and error
                    449: results.
                    450: .TP 1i
                    451: .I pathname
                    452: A file whose contents are used instead of the files named on the standard
                    453: input.
                    454: When a directory is named, all of its files and (recursively) 
                    455: subdirectories
                    456: are copied as well.
                    457: .TP 1i
                    458: .IR pattern 
                    459: A
                    460: .I pattern
                    461: is given in the standard shell pattern matching notation.
                    462: The default if no 
                    463: .I pattern 
                    464: is  specified is
                    465: .BR * \,
                    466: which selects all files.
                    467: .SH EXAMPLES
                    468: The following command
                    469: .sp
                    470: .RS 1i
                    471: pax \-w \-f /dev/rmt0 \.
                    472: .RE
                    473: .sp
                    474: copies the contents of the current directory to tape drive 0.
                    475: .PP
                    476: The commands
                    477: .sp
                    478: .RS 1i
                    479: .RI mkdir " newdir"
                    480: .br
                    481: .RI cd " olddir"
                    482: .br
                    483: .RI "pax -rw . " newdir
                    484: .RE
                    485: .sp
                    486: copies the contents of 
                    487: .I olddir 
                    488: to 
                    489: .I newdir .
                    490: .PP
                    491: The command
                    492: .sp
                    493: .RS 1i
                    494: pax \-r \-s ',//*usr//*,,' -f pax.out
                    495: .RE
                    496: .sp
                    497: reads the archive 
                    498: .B pax.out
                    499: with all files rooted in "/usr" in the archive extracted
                    500: relative to the current directory.
                    501: .SH FILES
                    502: .TP 1i
                    503: /dev/tty
                    504: used to prompt the user for information when the
                    505: .BR \-i " or " \-y
                    506: options are specified. 
                    507: .SH "SEE ALSO"
                    508: cpio(1), find(1), tar(1), cpio(5), tar(5)
                    509: .SH DIAGNOSTICS
                    510: .I Pax
                    511: will terminate immediately, without processing any 
                    512: additional files on the command line or in the archive.
                    513: .SH "EXIT CODES"
                    514: .I Pax 
                    515: will exit with one of the following values:
                    516: .IP 0 .5i
                    517: All files in the archive were processed successfully.
                    518: .IP ">0" .5i
                    519: .I Pax 
                    520: aborted due to errors encountered during operation.
                    521: .SH BUGS
                    522: Special permissions may be required to copy or extract special files.
                    523: .PP
                    524: Device, user ID, and group ID numbers larger than 65535 cause additional
                    525: header records to be output.
                    526: These records are ignored by some historical version of
                    527: .I "cpio(1)"
                    528: and
                    529: .IR "tar(1)" .
                    530: .PP
                    531: The archive formats described in
                    532: .B "Archive/Interchange File Format" 
                    533: have certain restrictions that have
                    534: been carried over from historical usage.
                    535: For example, there are restrictions on the length of pathnames stored in
                    536: the archive.
                    537: .PP
                    538: When getting an "ls -l" style listing on
                    539: .I tar
                    540: format archives, link counts are listed as zero since the 
                    541: .I ustar
                    542: archive format does not keep link count information.
                    543: .SH COPYRIGHT
                    544: Copyright (c) 1989 Mark H. Colburn.  
                    545: .br
                    546: All rights reserved.
                    547: .PP
                    548: Redistribution and use in source and binary forms are permitted
                    549: provided that the above copyright notice is duplicated in all such 
                    550: forms and that any documentation, advertising materials, and other 
                    551: materials related to such distribution and use acknowledge that the 
                    552: software was developed by Mark H. Colburn and sponsored by The 
                    553: USENIX Association. 
                    554: .PP
                    555: THE SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
                    556: IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
                    557: WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
                    558: .SH AUTHOR
                    559: Mark H. Colburn
                    560: .br
                    561: NAPS International
                    562: .br
                    563: 117 Mackubin Street, Suite 1
                    564: .br
                    565: St. Paul, MN 55102
                    566: .br
                    567: [email protected]
                    568: .sp 2
                    569: Sponsored by
                    570: .B "The USENIX Association"
                    571: for public distribution.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.