file_cmds-60.tar.gz
[apple/file_cmds.git] / pax / tar.1
1 .\"
2 .\" Copyright (c) 1996 SigmaSoft, Th. Lockert
3 .\" All rights reserved.
4 .\"
5 .\" Redistribution and use in source and binary forms, with or without
6 .\" modification, are permitted provided that the following conditions
7 .\" are met:
8 .\" 1. Redistributions of source code must retain the above copyright
9 .\"    notice, this list of conditions and the following disclaimer.
10 .\" 2. Redistributions in binary form must reproduce the above copyright
11 .\"    notice, this list of conditions and the following disclaimer in the
12 .\"    documentation and/or other materials provided with the distribution.
13 .\" 3. All advertising materials mentioning features or use of this software
14 .\"    must display the following acknowledgement:
15 .\"      This product includes software developed by SigmaSoft, Th. Lockert.
16 .\" 4. The name of the author may not be used to endorse or promote products
17 .\"    derived from this software without specific prior written permission
18 .\"
19 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
20 .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
21 .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22 .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
23 .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
24 .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
28 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 .\"
30 .\"     $OpenBSD: tar.1,v 1.13 1997/05/29 15:47:19 millert Exp $
31 .\"
32 .Dd June 11, 1996
33 .Dt TAR 1
34 .Os
35 .Sh NAME
36 .Nm tar
37 .Nd tape archiver
38 .Sh SYNOPSIS
39 .Nm
40 .No [-]{crtux}[befhmopvwzHLPXZ014578]
41 .Op Ar archive
42 .Op Ar blocksize
43 .\" XXX how to do this right?
44 .No [-C
45 .Ar directory
46 .No ]
47 .No [-s
48 .Ar replstr
49 .No ]
50 .Ar file1
51 .Op Ar file2...
52 .Sh DESCRIPTION
53 The
54 .Nm
55 command creates, adds files to, or extracts files from an
56 archive file in \*Qtar\*U format.  A tar archive is often
57 stored on a magnetic tape, but can be a floppy or a regular
58 disk file.
59 .Pp
60 One of the following flags must be present:
61 .Bl -tag -width Ar
62 .It Fl c
63 Create new archive, or overwrite an existing archive,
64 adding the specified files to it.
65 .It Fl r
66 Append the named new files to existing archive.  Note that
67 this will only work on media on which an end-of-file mark
68 can be overwritten.
69 .It Fl t
70 List contents of archive.  If any files are named on the
71 command line, only those files will be listed.
72 .It Fl u
73 Alias for
74 .Fl r
75 .It Fl x
76 Extract files from archive.  If any files are named on the
77 command line, only those files will be extracted from the
78 archive.  If more than one copy of a file exists in the
79 archive, later copies will overwrite earlier copies during
80 extration.
81 .El
82 .Pp
83 In addition to the flags mentioned above, any of the following
84 flags may be used:
85 .Bl -tag -width Ar
86 .It Fl b Ar "blocking factor"
87 Set blocking factor to use for the archive,
88 .Nm
89 uses 512 byte blocks.  The default is 20, the maximum is 126.
90 Archives with a blocking factor larger 63 violate the
91 .Tn POSIX
92 standard and will not be portable to all systems.
93 .It Fl e
94 Stop after first error.
95 .It Fl f Ar archive
96 Filename where the archive is stored.  Defaults to
97 .Pa /dev/rst0
98 .It Fl h
99 Follow symbolic links as if they were normal files
100 or directories.
101 .It Fl m
102 Do not preserve modification time.
103 .It Fl O
104 Write old-style (non-POSIX) archives.
105 .It Fl o
106 Don't write directory information that the older (V7) style
107 .Nm
108 is unable to decode.
109 This implies the
110 .Fl O
111 flag.
112 .It Fl p
113 Preserve user id, group id, file mode, access and modification
114 times if possible.  The user id and group id will only be set
115 if the user is the superuser (unless these values correspond
116 to the user's user and group ids).
117 .It Fl s Ar replstr
118 Modify the file or archive member names specified by the
119 .Ar pattern
120 or
121 .Ar file
122 operands according to the substitution expression
123 .Ar replstr ,
124 using the syntax of the
125 .Xr ed 1
126 utility regular expressions.
127 The format of these regular expressions are:
128 .Dl /old/new/[gp]
129 As in
130 .Xr ed 1 ,
131 .Cm old
132 is a basic regular expression and
133 .Cm new
134 can contain an ampersand (&), \\n (where n is a digit) back-references,
135 or subexpression matching.
136 The
137 .Cm old
138 string may also contain
139 .Dv <newline>
140 characters.
141 Any non-null character can be used as a delimiter (/ is shown here).
142 Multiple
143 .Fl s
144 expressions can be specified.
145 The expressions are applied in the order they are specified on the
146 command line, terminating with the first successful substitution.
147 The optional trailing
148 .Cm g
149 continues to apply the substitution expression to the pathname substring
150 which starts with the first character following the end of the last successful
151 substitution. The first unsuccessful substitution stops the operation of the
152 .Cm g
153 option.
154 The optional trailing
155 .Cm p
156 will cause the final result of a successful substitution to be written to
157 .Dv standard error
158 in the following format:
159 .Dl <original pathname> >> <new pathname>
160 File or archive member names that substitute to the empty string
161 are not selected and will be skipped.
162 .It Fl v
163 Verbose operation mode.
164 .It Fl w
165 Interactively rename files.  This option causes
166 .Nm
167 to prompt the user for the filename to use when storing or
168 extracting files in an archive.
169 .It Fl z
170 Compress archive using gzip.
171 .It Fl C Ar directory
172 This is a positional argument which sets the working directory for the
173 following files.  When extracting, files will be extracted into
174 the specified directory; when creating, the specified files will be matched
175 from the directory.
176 .It Fl H
177 Follow symlinks given on command line only.
178 .It Fl L
179 Follow all symlinks.
180 .It Fl P
181 Do not strip leading slashes (``/'') from pathnames.
182 The default is to strip leading slashes.
183 .It Fl X
184 Do not cross mount points in the file system.
185 .It Fl Z
186 Compress archive using compress.
187 .El
188 .Pp
189 The options
190 .Op Fl 014578
191 can be used to select one of the compiled-in backup devices,
192 .Pa /dev/rstN .
193 .Sh FILES
194 .Bl -tag -width "/dev/rst0"
195 .It Pa /dev/rst0
196 The default archive name
197 .El
198 .Sh SEE ALSO
199 .Xr pax 1 ,
200 .Xr cpio 1
201 .Sh AUTHOR
202 Keith Muller at the University of California, San Diego
203 .Sh ERRORS
204 .Nm
205 will exit with one of the following values:
206 .Bl -tag -width 2n
207 .It 0
208 All files were processed successfully.
209 .It 1
210 An error occured.
211 .El
212 .Pp
213 Whenever
214 .Nm
215 cannot create a file or a link when extracting an archive or cannot
216 find a file while writing an archive, or cannot preserve the user
217 ID, group ID, file mode or access and modification times when the
218 .Fl p
219 options is specified, a diagnostic message is written to standard
220 error and a non-zero exit value will be returned, but processing
221 will continue.  In the case where
222 .Nm
223 cannot create a link to a file,
224 .Nm
225 will not create a second copy of the file.
226 .Pp
227 If the extraction of a file from an archive is prematurely terminated
228 by a signal or error,
229 .Nm
230 may have only partially extracted the file the user wanted.
231 Additionally, the file modes of extracted files and directories may
232 have incorrect file bits, and the modification and access times may
233 be wrong.
234 .Pp
235 If the creation of an archive is prematurely terminated by a signal
236 or error,
237 .Nm
238 may have only partially created the archive which may violate the
239 specific archive format specification.