]> Dogcows Code - chaz/tar/blob - doc/tar.1
Improve documentation.
[chaz/tar] / doc / tar.1
1 .\" This file is part of GNU tar. -*- nroff -*-
2 .\" Copyright 2013-2014 Free Software Foundation, Inc.
3 .\"
4 .\" GNU tar is free software; you can redistribute it and/or modify
5 .\" it under the terms of the GNU General Public License as published by
6 .\" the Free Software Foundation; either version 3 of the License, or
7 .\" (at your option) any later version.
8 .\"
9 .\" GNU tar is distributed in the hope that it will be useful,
10 .\" but WITHOUT ANY WARRANTY; without even the implied warranty of
11 .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 .\" GNU General Public License for more details.
13 .\"
14 .\" You should have received a copy of the GNU General Public License
15 .\" along with this program. If not, see <http://www.gnu.org/licenses/>.
16 .TH TAR 1 "August 16, 2014" "TAR" "GNU TAR Manual"
17 .SH NAME
18 tar \- an archiving utility
19 .SH SYNOPSIS
20 .SS Traditional usage
21 \fBtar\fR {\fBA\fR|\fBc\fR|\fBd\fR|\fBr\fR|\fBt\fR|\fBu\fR|\fBx\fR}\
22 [\fBGnSkUWOmpsMBiajJzZhPlRvwo\fR] [\fIARG\fR...]
23 .SS UNIX-style usage
24 .sp
25 \fBtar\fR \fB\-A\fR [\fIOPTIONS\fR] \fIARCHIVE\fR \fIARCHIVE\fR
26 .sp
27 \fBtar\fR \fB\-c\fR [\fB\-f\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIFILE\fR...]
28 .sp
29 \fBtar\fR \fB\-d\fR [\fB\-f\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIFILE\fR...]
30 .sp
31 \fBtar\fR \fB\-t\fR [\fB\-f\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIMEMBER\fR...]
32 .sp
33 \fBtar\fR \fB\-r\fR [\fB\-f\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIFILE\fR...]
34 .sp
35 \fBtar\fR \fB\-u\fR [\fB\-f\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIFILE\fR...]
36 .sp
37 \fBtar\fR \fB\-x\fR [\fB\-f\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIMEMBER\fR...]
38 .SS GNU-style usage
39 .sp
40 \fBtar\fR {\fB\-\-catenate\fR|\fB\-\-concatenate} [\fIOPTIONS\fR] \fIARCHIVE\fR \fIARCHIVE\fR
41 .sp
42 \fBtar\fR \fB\-\-create\fR [\fB\-\-file\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIFILE\fR...]
43 .sp
44 \fBtar\fR {\fB\-\-diff\fR|\fB\-\-compare\fR} [\fB\-\-file\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIFILE\fR...]
45 .sp
46 \fBtar\fR \fB\-\-delete\fR [\fB\-\-file\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIMEMBER\fR...]
47 .sp
48 \fBtar\fR \fB\-\-append\fR [\fB\-f\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIFILE\fR...]
49 .sp
50 \fBtar\fR \fB\-\-list\fR [\fB\-f\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIMEMBER\fR...]
51 .sp
52 \fBtar\fR \fB\-\-test\-label\fR [\fB\-\-file\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fILABEL\fR...]
53 .sp
54 \fBtar\fR \fB\-\-update\fR [\fB\-\-file\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIFILE\fR...]
55 .sp
56 \fBtar\fR \fB\-\-update\fR [\fB\-f\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIFILE\fR...]
57 .sp
58 \fBtar\fR {\fB\-\-extract\fR|\fB\-\-get\fR} [\fB\-f\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIMEMBER\fR...]
59 .SH NOTE
60 This manpage is a short description of GNU \fBtar\fR. For a detailed
61 discussion, including examples and usage recommendations, refer to the
62 \fBGNU Tar Manual\fR available in texinfo format. If the \fBinfo\fR
63 reader and the tar documentation are properly installed on your
64 system, the command
65 .PP
66 .RS +4
67 .B info tar
68 .RE
69 .PP
70 should give you access to the complete manual.
71 .PP
72 You can also view the manual using the info mode in
73 .BR emacs (1),
74 or find it in various formats online at
75 .PP
76 .RS +4
77 .B http://www.gnu.org/software/tar/manual
78 .RE
79 .PP
80 If any discrepancies occur between this manpage and the
81 \fBGNU Tar Manual\fR, the later shall be considered the authoritative
82 source.
83 .SH DESCRIPTION
84 GNU
85 .B tar
86 is an archiving program designed to store multiple files in a single
87 file (an \fBarchive\fR), and to manipulate such archives. The archive
88 can be either a regular file or a device (e.g. a tape drive, hence the name
89 of the program, which stands for \fBt\fRape \fBar\fRchiver), which can
90 be located either on the local or on a remote machine.
91 .PP
92
93 .SS Option styles
94 Options to GNU \fBtar\fR can be given in three different styles.
95 In
96 .BR "traditional style" ,
97 the first argument is a cluster of option letters and all subsequent
98 arguments supply arguments to those options that require them. The
99 arguments are read in the same order as the option letters. Any
100 command line words that remain after all options has been processed
101 are treated as non-optional arguments: file or archive member names.
102 .PP
103 For example, the \fBc\fR option requires creating the archive, the
104 \fBv\fR option requests the verbose operation, and the \fBf\fR option
105 takes an argument that sets the name of the archive to operate upon.
106 The following command, written in the traditional style, instructs tar
107 to store all files from the directory
108 .B /etc
109 into the archive file
110 .B etc.tar
111 verbosely listing the files being archived:
112 .PP
113 .EX
114 .B tar cfv a.tar /etc
115 .EE
116 .PP
117 In
118 .BR "UNIX " or " short-option style" ,
119 each option letter is prefixed with a single dash, as in other command
120 line utilities. If an option takes argument, the argument follows it,
121 either as a separate command line word, or immediately following the
122 option. However, if the option takes an \fBoptional\fR argument, the
123 argument must follow the option letter without any intervening
124 whitespace, as in \fB\-g/tmp/snar.db\fR.
125 .PP
126 Any number of options not taking arguments can be
127 clustered together after a single dash, e.g. \fB\-vkp\fR. Options
128 that take arguments (whether mandatory or optional), can appear at
129 the end of such a cluster, e.g. \fB\-vkpf a.tar\fR.
130 .PP
131 The example command above written in the
132 .B short-option style
133 could look like:
134 .PP
135 .EX
136 .B tar -cvf a.tar /etc
137 or
138 .B tar -c -v -f a.tar /etc
139 .EE
140 .PP
141 In
142 .BR "GNU " or " long-option style" ,
143 each option begins with two dashes and has a meaningful name,
144 consisting of lower-case letters and dashes. When used, the long
145 option can be abbreviated to its initial letters, provided that
146 this does not create ambiguity. Arguments to long options are
147 supplied either as a separate command line word, immediately following
148 the option, or separated from the option by an equals sign with no
149 intervening whitespace. Optional arguments must always use the latter
150 method.
151 .PP
152 Here are several ways of writing the example command in this style:
153 .PP
154 .EX
155 .B tar --create --file a.tar --verbose /etc
156 .EE
157 or (abbreviating some options):
158 .EX
159 .B tar --cre --file=a.tar --verb /etc
160 .EE
161 .PP
162 The options in all three styles can be intermixed, although doing so
163 with old options is not encouraged.
164 .SS Operation mode
165 The options listed in the table below tell GNU \fBtar\fR what
166 operation it is to perform. Exactly one of them must be given.
167 Meaning of non-optional arguments depends on the operation mode
168 requested.
169 .TP
170 \fB\-A\fR, \fB\-\-catenate\fR, \fB\-\-concatenate\fR
171 Append archive to the end of another archive. The arguments are
172 treated as the names of archives to append. All archives must be of
173 the same format as the archive they are appended to, otherwise the
174 resulting archive might be unusable with non-GNU implementations of
175 \fBtar\fR. Notice also that when more than one archive is given, the
176 members from archives other than the first one will be accessible in
177 the resulting archive only if using the \fB\-i\fR
178 (\fB\-\-ignore\-zeros) option.
179
180 Compressed archives cannot be concatenated.
181 .TP
182 \fB\-c\fR, \fB\-\-create\fR
183 Create a new archive. Arguments supply the names of the files to be
184 archived. Directories are archived recursively, unless the
185 \fB\-\-no\-recursion\fR option is given.
186 .TP
187 \fB\-d\fR, \fB\-\-diff\fR, \fB\-\-compare\fR
188 Find differences between archive and file system. The arguments are
189 optional and specify archive members to compare. If not given, the
190 current working directory is assumed.
191 .TP
192 \fB\-\-delete\fR
193 Delete from the archive. The arguments supply names of the archive
194 members to be removed. At least one argument must be given.
195
196 This option does not operate on compressed archives. There is no
197 short option equivalent.
198 .TP
199 \fB\-r\fR, \fB\-\-append\fR
200 Append files to the end of an archive. Arguments have the same
201 meaning as for \fB\-c\fR (\fB\-\-create).
202 .TP
203 \fB\-t\fR, \fB\-\-list\fR
204 List the contents of an archive. Arguments are optional. When given,
205 they specify the names of the members to list.
206 .TP
207 \fB\-\-test\-label
208 Test the archive volume label and exit. When used without arguments,
209 it prints the volume label (if any) and exits with status \fB0\fR.
210 When one or more command line arguments are given.
211 .B tar
212 compares the volume label with each argument. It exits with code
213 \fB0\fR if a match is found, and with code \fB1\fR otherwise. No
214 output is displayed, unless used together with the \fB\-v\fR
215 (\fB\-\-verbose\fR) option.
216
217 There is no short option equivalent for this option.
218 .TP
219 \fB\-u\fR, \fB\-\-update\fR
220 Append files which are newer than the corresponding copy in the
221 archive. Arguments have the same meaning as with \fB\-c\fR and
222 \fB\-r\fR options.
223 .TP
224 \fB\-x\fR, \fB\-\-extract\fR, \fB\-\-get\fR
225 Extract files from an archive. Arguments are optional. When given,
226 they specify names of the archive members to be extracted.
227 .TP
228 .TP
229 \fB\-\-show\-defaults\fR
230 Show built-in defaults for various \fBtar\fR options and exit. No
231 arguments are allowed.
232 .TP
233 \fB\-?\fR, \fB\-\-help
234 Display a short option summary and exit. No arguments allowed.
235 .TP
236 \fB\-\-usage\fR
237 Display a list of available options and exit. No arguments allowed.
238 .TP
239 \fB\-\-version\fR
240 Print program version and copyright information and exit.
241 .SH OPTIONS
242 .SS Operation modifiers
243 .TP
244 \fB\-\-check\-device\fR
245 Check device numbers when creating incremental archives (default).
246 .TP
247 \fB\-g\fR, \fB\-\-listed\-incremental\fR=\fIFILE\fR
248 Handle new GNU-format incremental backups. \fIFILE\fR is the name of
249 a \fBsnapshot file\fR, where tar stores additional information which
250 is used to decide which files changed since the previous incremental
251 dump and, consequently, must be dumped again. If \fIFILE\fR does not
252 exist when creating an archive, it will be created and all files will
253 be added to the resulting archive (the \fBlevel 0\fR dump). To create
254 incremental archives of non-zero level \fBN\fR, create a copy of the
255 snapshot file created during the level \fBN-1\fR, and use it as
256 \fIFILE\fR.
257
258 When listing or extracting, the actual contents of \fIFILE\fR is not
259 inspected, it is needed only due to syntactical requirements. It is
260 therefore common practice to use \fB/dev/null\fR in its place.
261 .TP
262 \fB\-G\fR, \fB\-\-incremental\fR
263 Handle old GNU-format incremental backups.
264 .TP
265 \fB\-\-ignore\-failed\-read\fR
266 Do not exit with nonzero on unreadable files.
267 .TP
268 \fB\-\-level\fR=\fINUMBER\fR
269 Set dump level for created listed-incremental archive. Currently only
270 \fB\-\-level=0\fR is meaningful: it instructs \fBtar\fR to truncate
271 the snapshot file before dumping, thereby forcing a level 0 dump.
272 .TP
273 \fB\-n\fR, \fB\-\-seek\fR
274 Assume the archive is seekable. Normally \fBtar\fR determines
275 automatically whether the archive can be seeked or not. This option
276 is intended for use in cases when such recognition fails. It takes
277 effect only if the archive is open for reading (e.g. with
278 .B \-\-list
279 or
280 .B \-\-extract
281 options).
282 .TP
283 \fB\-\-no\-check\-device\fR
284 Do not check device numbers when creating incremental archives.
285 .TP
286 \fB\-\-no\-seek\fR
287 Assume the archive is not seekable.
288 .TP
289 \fB\-\-occurrence\fR[=\fIN\fR]
290 Process only the \fIN\fRth occurrence of each file in the
291 archive. This option is valid only when used with one of the
292 following subcommands: \fB\-\-delete\fR, \fB\-\-diff\fR,
293 \fB\-\-extract\fR or \fB\-\-list\fR and when a list of files is given
294 either on the command line or via the \fB\-\fRT option. The default
295 \fIN\fR is \fB1\fR.
296 .TP
297 \fB\-\-restrict\fR
298 Disable the use of some potentially harmful options.
299 .TP
300 \fB\-\-sparse\-version\fR=\fIMAJOR\fR[.\fIMINOR\fR]
301 Set version of the sparse format to use (implies \fB\-\-sparse\fR).
302 This option implies
303 .BR \-\-sparse .
304 Valid argument values are
305 .BR 0.0 ,
306 .BR 0.1 ", and"
307 .BR 1.0 .
308 For a detailed discussion of sparse formats, refer to the \fBGNU Tar
309 Manual\fR, appendix \fBD\fR, "\fBSparse Formats\fR". Using \fBinfo\fR
310 reader, it can be accessed running the following command:
311 .BR "info tar 'Sparse Formats'" .
312 .TP
313 \fB\-S\fR, \fB\-\-sparse\fR
314 Handle sparse files efficiently. Some files in the file system may
315 have segments which were actually never written (quite often these are
316 database files created by such systems as \fBDBM\fR). When given this
317 option, \fBtar\fR attempts to determine if the file is sparse prior to
318 archiving it, and if so, to reduce the resulting archive size by not
319 dumping empty parts of the file.
320 .SS Overwrite control
321 These options control \fBtar\fR actions when extracting a file over
322 an existing copy on disk.
323 .TP
324 \fB\-k\fR, \fB\-\-keep\-old\-files\fR
325 Don't replace existing files when extracting.
326 .TP
327 \fB\-\-keep\-newer\-files\fR
328 Don't replace existing files that are newer than their archive copies.
329 .TP
330 \fB\-\-no\-overwrite\-dir\fR
331 Preserve metadata of existing directories.
332 .TP
333 \fB\-\-one\-top\-level\fR[\fB=\fIDIR\fR]
334 Extract all files into \fIDIR\fR, or, if used without argument, into a
335 subdirectory named by the base name of the archive (minus standard
336 compression suffixes recognizable by \fB\-\-auto\-compress).
337 .TP
338 \fB\-\-overwrite\fR
339 Overwrite existing files when extracting.
340 .TP
341 \fB\-\-overwrite\-dir\fR
342 Overwrite metadata of existing directories when extracting (default).
343 .TP
344 \fB\-\-recursive\-unlink\fR
345 Recursively remove all files in the directory prior to extracting it.
346 .TP
347 \fB\-\-remove\-files\fR
348 Remove files from disk after adding them to the archive.
349 .TP
350 \fB\-\-skip\-old\-files
351 Don't replace existing files when extracting, silently skip over them.
352 .TP
353 \fB\-U\fR, \fB\-\-unlink\-first\fR
354 Remove each file prior to extracting over it.
355 .TP
356 \fB\-W\fR, \fB\-\-verify\fR
357 Verify the archive after writing it.
358 .SS Output stream selection
359 .TP
360 \fB\-\-ignore\-command\-error\fR
361 .TP
362 Ignore subprocess exit codes.
363 .TP
364 \fB\-\-no\-ignore\-command\-error\fR
365 Treat non-zero exit codes of children as error (default).
366 .TP
367 \fB\-O\fR, \fB\-\-to\-stdout\fR
368 Extract files to standard output.
369 .TP
370 \fB\-\-to\-command\fR=\fICOMMAND\fR
371 Pipe extracted files to \fICOMMAND\fR. The argument is the pathname
372 of an external program, optionally with command line arguments. The
373 program will be invoked and the contents of the file being extracted
374 supplied to it on its standard output. Additional data will be
375 supplied via the following environment variables:
376 .RS
377 .TP
378 .B TAR_FILETYPE
379 Type of the file. It is a single letter with the following meaning:
380 .sp
381 .nf
382 .ta 8n 20n
383 f Regular file
384 d Directory
385 l Symbolic link
386 h Hard link
387 b Block device
388 c Character device
389 .fi
390
391 Currently only regular files are supported.
392 .TP
393 .B TAR_MODE
394 File mode, an octal number.
395 .TP
396 .B TAR_FILENAME
397 The name of the file.
398 .TP
399 .B TAR_REALNAME
400 Name of the file as stored in the archive.
401 .TP
402 .B TAR_UNAME
403 Name of the file owner.
404 .TP
405 .B TAR_GNAME
406 Name of the file owner group.
407 .TP
408 .B TAR_ATIME
409 Time of last access. It is a decimal number, representing seconds
410 since the Epoch. If the archive provides times with nanosecond
411 precision, the nanoseconds are appended to the timestamp after a
412 decimal point.
413 .TP
414 .B TAR_MTIME
415 Time of last modification.
416 .TP
417 .B TAR_CTIME
418 Time of last status change.
419 .TP
420 .B TAR_SIZE
421 Size of the file.
422 .TP
423 .B TAR_UID
424 UID of the file owner.
425 .TP
426 .B TAR_GID
427 GID of the file owner.
428 .RE
429 .RS
430
431 Additionally, the following variables contain information about
432 \fBtar\fR operation mode and the archive being processed:
433 .TP
434 .B TAR_VERSION
435 GNU \fBtar\fR version number.
436 .TP
437 .B TAR_ARCHIVE
438 The name of the archive \fBtar\fR is processing.
439 .TP
440 .B TAR_BLOCKING_FACTOR
441 Current blocking factor, i.e. number of 512-byte blocks in a record.
442 .TP
443 .B TAR_VOLUME
444 Ordinal number of the volume \fBtar\fR is processing (set if
445 reading a multi-volume archive).
446 .TP
447 .B TAR_FORMAT
448 Format of the archive being processed. One of:
449 .BR gnu ,
450 .BR oldgnu ,
451 .BR posix ,
452 .BR ustar ,
453 .BR v7 .
454 .B TAR_SUBCOMMAND
455 A short option (with a leading dash) describing the operation \fBtar\fR is
456 executing.
457 .RE
458 .SS Handling of file attributes
459 .TP
460 \fB\-\-atime\-preserve\fR[=\fIMETHOD\fR]
461 Preserve access times on dumped files, either by restoring the times
462 after reading (\fIMETHOD\fR=\fBreplace\fR, this is the default) or by
463 not setting the times in the first place (\fIMETHOD\fR=\fBsystem\fR)
464 .TP
465 \fB\-\-delay\-directory\-restore\fR
466 Delay setting modification times and permissions of extracted
467 directories until the end of extraction. Use this option when
468 extracting from an archive which has unusual member ordering.
469 .TP
470 \fB\-\-group\fR=\fINAME\fR
471 Force \fINAME\fR as group for added files.
472 .TP
473 \fB\-\-mode\fR=\fICHANGES\fR
474 Force symbolic mode \fICHANGES\fR for added files.
475 .TP
476 \fB\-\-mtime\fR=\fIDATE-OR-FILE\fR
477 Set mtime for added files. \fIDATE-OR-FILE\fR is either a date/time
478 in almost arbitrary formate, or the name of an existing file. In the
479 latter case the mtime of that file will be used.
480 .TP
481 \fB\-m\fR, \fB\-\-touch\fR
482 Don't extract file modified time.
483 .TP
484 \fB\-\-no\-delay\-directory\-restore\fR
485 Cancel the effect of the prior \fB\-\-delay\-directory\-restore\fR option.
486 .TP
487 \fB\-\-no\-same\-owner\fR
488 Extract files as yourself (default for ordinary users).
489 .TP
490 \fB\-\-no\-same\-permissions\fR
491 Apply the user's umask when extracting permissions from the archive
492 (default for ordinary users).
493 .TP
494 \fB\-\-numeric\-owner\fR
495 Always use numbers for user/group names.
496 .TP
497 \fB\-\-owner\fR=\fINAME\fR
498 Force \fINAME\fR as owner for added files.
499 .TP
500 \fB\-p\fR, \fB\-\-preserve\-permissions\fR, \fB\-\-same\-permissions\fR
501 extract information about file permissions (default for superuser)
502 .TP
503 \fB\-\-preserve\fR
504 Same as both \fB\-p\fR and \fB\-s\fR.
505 .TP
506 \fB\-\-same\-owner\fR
507 Try extracting files with the same ownership as exists in the archive
508 (default for superuser).
509 .TP
510 \fB\-s\fR, \fB\-\-preserve\-order\fR, \fB\-\-same\-order\fR
511 Sort names to extract to match archive
512 .TP
513 \fB\-\-sort=\fIORDER\fR
514 When creating an archive, sort directory entries according to
515 \fIORDER\fR, which is one of
516 .BR none ,
517 .BR name ", or"
518 .BR inode .
519
520 The default is \fB\-\-sort=none\fR, which stores archive members in
521 the same order as returned by the operating system.
522
523 Using \fB\-\-sort=name\fR ensures the member ordering in the created archive
524 is uniform and reproducible.
525
526 Using \fB\-\-sort=inode\fR reduces the number of disk seeks made when
527 creating the archive and thus can considerably speed up archivation.
528 This sorting order is supported only if the underlying system provides
529 the necessary information.
530 .SS Device selection and switching
531 .TP
532 \fB\-f\fR, \fB\-\-file\fR=\fIARCHIVE\fR
533 Use archive file or device \fIARCHIVE\fR. If this option is not
534 given, \fBtar\fR will first examine the environment variable `TAPE'.
535 If it is set, its value will be used as the archive name. Otherwise,
536 \fBtar\fR will assume the compiled-in default. The default
537 value can be inspected either using the
538 .B \-\-show\-defaults
539 option, or at the end of the \fBtar \-\-help\fR output.
540
541 An archive name that has a colon in it specifies a file or device on a
542 remote machine. The part before the colon is taken as the machine
543 name or IP address, and the part after it as the file or device
544 pathname, e.g.:
545
546 .EX
547 --file=remotehost:/dev/sr0
548 .EE
549
550 An optional username can be prefixed to the hostname, placing a \fB@\fR
551 sign between them.
552
553 By default, the remote host is accessed via the
554 .BR rsh (1)
555 command. Nowadays it is common to use
556 .BR ssh (1)
557 instead. You can do so by giving the following command line option:
558
559 .EX
560 --rsh-command=/usr/bin/ssh
561 .EE
562
563 The remote mashine should have the
564 .BR rmt (8)
565 command installed. If its pathname does not match \fBtar\fR's
566 default, you can inform \fBtar\fR about the correct pathname using the
567 .B \-\-rmt\-command
568 option.
569 .TP
570 \fB\-\-force\-local\fR
571 Archive file is local even if it has a colon.
572 .TP
573 \fB\-\fRF, \fB\-\-info\-script\fR=\fICOMMAND\fR, \fB\-\-new\-volume\-script\fR=\fICOMMAND\fR
574 Run \fICOMMAND\fR at the end of each tape (implies \fB\-M\fR). The
575 command can include arguments. When started, it will inherit \fBtar\fR's
576 environment plus the following variables:
577 .RS
578 .TP
579 .B TAR_VERSION
580 GNU \fBtar\fR version number.
581 .TP
582 .B TAR_ARCHIVE
583 The name of the archive \fBtar\fR is processing.
584 .TP
585 .B TAR_BLOCKING_FACTOR
586 Current blocking factor, i.e. number of 512-byte blocks in a record.
587 .TP
588 .B TAR_VOLUME
589 Ordinal number of the volume \fBtar\fR is processing (set if
590 reading a multi-volume archive).
591 .TP
592 .B TAR_FORMAT
593 Format of the archive being processed. One of:
594 .BR gnu ,
595 .BR oldgnu ,
596 .BR posix ,
597 .BR ustar ,
598 .BR v7 .
599 .TP
600 .B TAR_SUBCOMMAND
601 A short option (with a leading dash) describing the operation \fBtar\fR is
602 executing.
603 .TP
604 .B TAR_FD
605 File descriptor which can be used to communicate the new volume name
606 to
607 .BR tar .
608 .RE
609 .RS
610
611 If the info script fails, \fBtar\fR exits; otherwise, it begins writing
612 the next volume.
613 .RE
614 .TP
615 \fB\-L\fR, \fB\-\-tape\-length\fR=\fN\fR
616 Change tape after writing \fIN\fRx1024 bytes. If \fIN\fR is followed
617 by a size suffix (see the subsection
618 .B Size suffixes
619 below), the suffix specifies the multiplicative factor to be used
620 instead of 1024.
621
622 This option implies
623 .BR \-M .
624 .TP
625 \fB\-M\fR, \fB\-\-multi\-volume\fR
626 Create/list/extract multi-volume archive.
627 .TP
628 \fB\-\-rmt\-command\fR=\fICOMMAND\fR
629 Use \fICOMMAND\fR instead of \fBrmt\fR when accessing remote
630 archives. See the description of the
631 .B \-f
632 option, above.
633 .TP
634 \fB\-\-rsh\-command\fR=\fICOMMAND\fR
635 Use \fICOMMAND\fR instead of \fBrsh\fR when accessing remote
636 archives. See the description of the
637 .B \-f
638 option, above.
639 .TP
640 \fB\-\-volno\-file\fR=\fIFILE\fR
641 When this option is used in conjunction with
642 .BR \-\-multi\-volume ,
643 .B tar
644 will keep track of which volume of a multi-volume archive it is
645 working in \fIFILE\fR.
646 .SS Device blocking
647 .TP
648 \fB\-b\fR, \fB\-\-blocking\-factor\fR=\fIBLOCKS\fR
649 Set record size to \fIBLOCKS\fRx\fB512\fR bytes.
650 .TP
651 \fB\-B\fR, \fB\-\-read\-full\-records\fR
652 When listing or extracting, accept incomplete input records after
653 end-of-file marker.
654 .TP
655 \fB\-i\fR, \fB\-\-ignore\-zeros\fR
656 Ignore zeroed blocks in archive. Normally two consecutive 512-blocks
657 filled with zeroes mean EOF and tar stops reading after encountering
658 them. This option instructs it to read further and is useful when
659 reading archives created with the \fB\-A\fR option.
660 .TP
661 \fB\-\-record\-size\fR=\fINUMBER\fR
662 Set record size. \fINUMBER\fR is the number of bytes per record. It
663 must be multiple of \fB512\fR. It can can be suffixed with a \fBsize
664 suffix\fR, e.g. \fB\-\-record-size=10K\fR, for 10 Kilobytes. See the
665 subsection
666 .BR "Size suffixes" ,
667 for a list of valid suffixes.
668 .SS Archive format selection
669 .TP
670 \fB\-H\fR, \fB\-\-format\fR=\fIFORMAT\fR
671 Create archive of the given format. Valid formats are:
672 .RS
673 .TP
674 .B gnu
675 GNU tar 1.13.x format
676 .TP
677 .B oldgnu
678 GNU format as per tar <= 1.12.
679 .TP
680 \fBpax\fR, \fBposix\fR
681 POSIX 1003.1-2001 (pax) format.
682 .TP
683 .B ustar
684 POSIX 1003.1-1988 (ustar) format.
685 .TP
686 .B v7
687 Old V7 tar format.
688 .RE
689 .TP
690 \fB\-\-old\-archive\fR, \fB\-\-portability\fR
691 Same as \fB\-\-format=v7\fR.
692 .TP
693 \fB\-\-pax\-option\fR=\fIkeyword\fR[[:]=\fIvalue\fR][,\fIkeyword\fR[[:]=\fIvalue\fR]]...
694 Control pax keywords when creating \fBPAX\fR archives (\fB\-H
695 pax\fR). This option is equivalent to the \fB\-o\fR option of the
696 .BR pax (1) utility.
697 .TP
698 \fB\-\-posix\fR
699 Same as \fB\-\-format=posix\fR.
700 .TP
701 \fB\-V\fR, \fB\-\-label\fR=\fITEXT\fR
702 Create archive with volume name \fITEXT\fR. If listing or extracting,
703 use \fITEXT\fR as a globbing pattern for volume name.
704 .SS Compression options
705 .TP
706 \fB\-a\fR, \fB\-\-auto\-compress\fR
707 Use archive suffix to determine the compression program.
708 .TP
709 \fB\-\fRI, \fB\-\-use\-compress\-program\fI=\fICOMMAND\fR
710 Filter data through \fICOMMAND\fR. It must accept the \fB\-d\fR
711 option, for decompression. The argument can contain command line
712 options.
713 .TP
714 \fB\-j\fR, \fB\-\-bzip2\fR
715 Filter the archive through
716 .BR bzip2 (1).
717 .TP
718 \fB\-J\fR, \fB\-\-xz\fR
719 Filter the archive through
720 .BR xz (1).
721 .TP
722 \fB\-\-lzip\fR
723 Filter the archive through
724 .BR lzip (1).
725 .TP
726 \fB\-\-lzma\fR
727 Filter the archive through
728 .BR lzma (1).
729 .TP
730 \fB\-\-lzop\fR
731 Filter the archive through
732 .BR lzop (1).
733 .TP
734 \fB\-\-no\-auto\-compress\fR
735 Do not use archive suffix to determine the compression program.
736 .TP
737 \fB\-z\fR, \fB\-\-gzip\fR, \fB\-\-gunzip\fR, \fB\-\-ungzip\fR
738 Filter the archive through
739 .BR gzip (1).
740 .TP
741 \fB\-\fRZ, \fB\-\-compress\fR, \fB\-\-uncompress\fR
742 Filter the archive through
743 .BR compress (1).
744 .SS Local file selection
745 .TP
746 \fB\-\-add\-file\fR=\fIFILE\fR
747 Add \fIFILE\fR to the archive (useful if its name starts with a dash).
748 .TP
749 \fB\-\-backup\fR[=\fICONTROL\fR]
750 Backup before removal. The \fICONTROL\fR argument, if supplied,
751 controls the backup policy. Its valid values are:
752 .RS
753 .TP
754 .BR none ", " off
755 Never make backups.
756 .TP
757 .BR t ", " numbered
758 Make numbered backups.
759 .TP
760 .BR nil ", " existing
761 Make numbered backups if numbered backups exist, simple backups otherwise.
762 .TP
763 .BR never ", " simple
764 Always make simple backups
765 .RS
766 .RE
767
768 If \fICONTROL\fR is not given, the value is taken from the
769 .B VERSION_CONTROL
770 environment variable. If it is not set, \fBexisting\fR is assumed.
771 .RE
772 .TP
773 \fB\-C\fR, \fB\-\-directory\fR=\fIDIR\fR
774 Change to directory DIR.
775 .TP
776 \fB\-\-exclude\fR=\fIPATTERN\fR
777 Exclude files matching \fIPATTERN\fR, a
778 .BR glob (3)-style
779 wildcard pattern.
780 .TP
781 \fB\-\-exclude\-backups\fR
782 Exclude backup and lock files.
783 .TP
784 \fB\-\-exclude\-caches\fR
785 Exclude contents of directories containing file \fBCACHEDIR.TAG\fR,
786 except for the tag file itself.
787 .TP
788 \fB\-\-exclude\-caches\-all\fR
789 Exclude directories containing file \fBCACHEDIR.TAG\fR and the file itself.
790 .TP
791 \fB\-\-exclude\-caches\-under\fR
792 Exclude everything under directories containing \fBCACHEDIR.TAG\fR
793 .TP
794 \fB\-\-exclude\-ignore=\fIFILE\fR
795 Before dumping a directory, see if it contains \fIFILE\fR.
796 If so, read exclusion patterns from this file. The patterns affect
797 only the directory itself.
798 .TP
799 \fB\-\-exclude\-ignore\-recursive=\fIFILE\fR
800 Same as \fB\-\-exclude\-ignore\fR, except that patterns from
801 \fIFILE\fR affect both the directory and all its subdirectories.
802 .TP
803 \fB\-\-exclude\-tag\fR=\fIFILE\fR
804 Exclude contents of directories containing \fIFILE\fR, except for
805 \fIFILE\fR itself.
806 .TP
807 \fB\-\-exclude\-tag\-all\fR=\fIFILE\fR
808 Exclude directories containing \fIFILE\fR.
809 .TP
810 \fB\-\-exclude\-tag\-under\fR=\fIFILE\fR
811 Exclude everything under directories containing \fIFILE\fR.
812 .TP
813 \fB\-\-exclude\-vcs\fR
814 Exclude version control system directories.
815 .TP
816 \fB\-\-exclude\-vcs\-ignores\fR
817 Exclude files that match patterns read from VCS-specific ignore
818 files. Supported files are:
819 .BR .cvsignore ,
820 .BR .gitignore ,
821 .BR .bzrignore ", and"
822 .BR .hgignore .
823 .TP
824 \fB\-h\fR, \fB\-\-dereference\fR
825 Follow symlinks; archive and dump the files they point to.
826 .TP
827 \fB\-\-hard\-dereference\fR
828 Follow hard links; archive and dump the files they refer to.
829 .TP
830 \fB\-K\fR, \fB\-\-starting\-file\fR=\fIMEMBER\fR
831 Begin at the given member in the archive.
832 .TP
833 \fB\-\-newer\-mtime\fR=\fIDATE\fR
834 Work on files whose data changed after the \fIDATE\fR. If \fIDATE\fR
835 starts with \fB/\fR or \fB.\fR it is taken to be a file name; the
836 mtime of that file is used as the date.
837 .TP
838 \fB\-\-no\-null\fR
839 Disable the effect of the previous \fB\-\-null\fR option.
840 .TP
841 \fB\-\-no\-recursion\fR
842 Avoid descending automatically in directories.
843 .TP
844 \fB\-\-no\-unquote\fR
845 Do not unquote input file or member names.
846 .TP
847 \fB\-\-null\fR
848 Instruct subsequent \fB\-T\fR options to read null-terminated names,
849 disable handling of the \fB\-C\fR option read from the file.
850 .TP
851 \fB\-N\fR, \fB\-\-newer\fR=\fIDATE\fR, \fB\-\-after\-date\fR=\fIDATE\fR
852 Only store files newer than DATE. If \fIDATE\fR starts with \fB/\fR
853 or \fB.\fR it is taken to be a file name; the ctime of that file is
854 used as the date.
855 .TP
856 \fB\-\-one\-file\-system\fR
857 Stay in local file system when creating archive.
858 .TP
859 \fB\-P\fR, \fB\-\-absolute\-names\fR
860 Don't strip leading slashes from file names when creating archives.
861 .TP
862 \fB\-\-recursion\fR
863 Recurse into directories (default).
864 .TP
865 \fB\-\-suffix\fR=\fISTRING\fR
866 Backup before removal, override usual suffix. Default suffix is \fB~\fR,
867 unless overridden by environment variable \fBSIMPLE_BACKUP_SUFFIX\fR.
868 .TP
869 \fB\-T\fR, \fB\-\-files\-from\fR=\fIFILE\fR
870 Get names to extract or create from \fIFILE\fR.
871 .TP
872 \fB\-\-unquote\fR
873 Unquote file or member names (default).
874 .TP
875 \fB\-X\fR, \fB\-\-exclude\-from\fR=\fIFILE\fR
876 Exclude files matching patterns listed in FILE.
877 .SS File name transformations
878 .TP
879 \fB\-\-strip\-components\fR=\fINUMBER\fR
880 Strip \fINUMBER\fR leading components from file names on extraction.
881 .TP
882 \fB\-\-transform\fR=\fIEXPRESSION\dR, \fB\-\-xform\fR=\fIEXPRESSION\fR
883 Use sed replace \fIEXPRESSION\fR to transform file names.
884 .SS File name matching options
885 These options affect both exclude and include patterns.
886 .TP
887 \fB\-\-anchored\fR
888 Patterns match file name start.
889 .TP
890 \fB\-\-ignore\-case\fR
891 Ignore case.
892 .TP
893 \fB\-\-no\-anchored\fR
894 Patterns match after any \fB/\fR (default for exclusion).
895 .TP
896 \fB\-\-no\-ignore\-case\fR
897 Case sensitive matching (default).
898 .TP
899 \fB\-\-no\-wildcards\fR
900 Verbatim string matching.
901 .TP
902 \fB\-\-no\-wildcards\-match\-slash\fR
903 Wildcards do not match \fB/\fR.
904 .TP
905 \fB\-\-wildcards\fR
906 Use wildcards (default for exclusion).
907 .TP
908 \fB\-\-wildcards\-match\-slash\fR
909 Wildcards match \fB/\fR (default for exclusion).
910 .SS Informative output
911 .TP
912 \fB\-\-checkpoint\fR[=\fIN\fR]
913 Display progress messages every \fIN\fRth record (default 10).
914 .TP
915 \fB\-\-checkpoint\-action\fR=\fIACTION\fR
916 Run \fIACTION\fR on each checkpoint.
917 .TP
918 \fB\-\-full\-time\fR
919 Print file time to its full resolution.
920 .TP
921 \fB\-\-index\-file\fR=\fIFILE\fR
922 Send verbose output to \fIFILE\fR.
923 .TP
924 \fB\-l\fR, \fB\-\-check\-links\fR
925 Print a message if not all links are dumped.
926 .TP
927 \fB\-\-no\-quote\-chars\fR=\fISTRING\fR
928 Disable quoting for characters from \fISTRING\fR.
929 .TP
930 \fB\-\-quote\-chars\fR=\fISTRING\fR
931 Additionally quote characters from \fISTRING\fR.
932 .TP
933 \fB\-\-quoting\-style\fR=\fISTYLE\fR
934 Set quoting style for file and member names. Valid values for
935 \fISTYLE\fR are
936 .BR literal ,
937 .BR shell ,
938 .BR shell-always ,
939 .BR c ,
940 .BR c-maybe ,
941 .BR escape ,
942 .BR locale ,
943 .BR clocale .
944 .TP
945 \fB\-R\fR, \fB\-\-block\-number\fR
946 Show block number within archive with each message.
947 .TP
948 \fB\-\-show\-omitted\-dirs\fR
949 When listing or extracting, list each directory that does not match
950 search criteria.
951 .TP
952 \fB\-\-show\-transformed\-names\fR, \fB\-\-show\-stored\-names\fR
953 Show file or archive names after transformation by \fB\-\-strip\fR and
954 \fB\-\-transform\fR options.
955 .TP
956 \fB\-\-totals\fR[=\fISIGNAL\fR]
957 Print total bytes after processing the archive. If \fISIGNAL\fR is
958 given, print total bytes when this signal is delivered. Allowed
959 signals are:
960 .BR SIGHUP ,
961 .BR SIGQUIT ,
962 .BR SIGINT ,
963 .BR SIGUSR1 ", and"
964 .BR SIGUSR2 .
965 The \fBSIG\fR prefix can be omitted.
966 .TP
967 \fB\-\-utc\fR
968 Print file modification times in UTC.
969 .TP
970 \fB\-v\fR, \fB\-\-verbose\fR
971 Verbosely list files processed.
972 .TP
973 \fB\-\-warning\fR=\fIKEYWORD\fR
974 Enable or disable warning messages identified by \fIKEYWORD\fR. The
975 messages are suppressed if \fIKEYWORD\fR is prefixed with \fBno\-\fR
976 and enabled otherwise.
977
978 Multiple \fB\-\-warning\fR messages accumulate.
979
980 Keywords controlling general \fBtar\fR operation:
981 .RS
982 .TP
983 .B all
984 Enable all warning messages. This is the default.
985 .TP
986 .B none
987 Disable all warning messages.
988 .TP
989 .B filename-with-nuls
990 "%s: file name read contains nul character"
991 .TP
992 .B alone-zero-block
993 "A lone zero block at %s"
994 .HP
995 Keywords applicable for \fBtar --create\fR:
996 .TP
997 .B cachedir
998 "%s: contains a cache directory tag %s; %s"
999 .TP
1000 .B file-shrank
1001 "%s: File shrank by %s bytes; padding with zeros"
1002 .TP
1003 .B xdev
1004 "%s: file is on a different filesystem; not dumped"
1005 .TP
1006 .B file-ignored
1007 "%s: Unknown file type; file ignored"
1008 .br
1009 "%s: socket ignored"
1010 .br
1011 "%s: door ignored"
1012 .TP
1013 .B file-unchanged
1014 "%s: file is unchanged; not dumped"
1015 .TP
1016 .B ignore-archive
1017 "%s: file is the archive; not dumped"
1018 .TP
1019 .B file-removed
1020 "%s: File removed before we read it"
1021 .TP
1022 .B file-changed
1023 "%s: file changed as we read it"
1024 .HP
1025 Keywords applicable for \fBtar --extract\fR:
1026 .TP
1027 .B existing\-file
1028 "%s: skipping existing file"
1029 .TP
1030 .B timestamp
1031 "%s: implausibly old time stamp %s"
1032 .br
1033 "%s: time stamp %s is %s s in the future"
1034 .TP
1035 .B contiguous-cast
1036 "Extracting contiguous files as regular files"
1037 .TP
1038 .B symlink-cast
1039 "Attempting extraction of symbolic links as hard links"
1040 .TP
1041 .B unknown-cast
1042 "%s: Unknown file type '%c', extracted as normal file"
1043 .TP
1044 .B ignore-newer
1045 "Current %s is newer or same age"
1046 .TP
1047 .B unknown-keyword
1048 "Ignoring unknown extended header keyword '%s'"
1049 .TP
1050 .B decompress-program
1051 Controls verbose description of failures occurring when trying to run
1052 alternative decompressor programs. This warning is disabled by
1053 default (unless \fB\-\-verbose\fR is used). A common example of what
1054 you can get when using this warning is:
1055
1056 .EX
1057 $ \fBtar --warning=decompress-program -x -f archive.Z
1058 tar (child): cannot run compress: No such file or directory
1059 tar (child): trying gzip
1060 .EE
1061
1062 This means that \fBtar\fR first tried to decompress
1063 \fBarchive.Z\fR using \fBcompress\fR, and, when that
1064 failed, switched to \fBgzip\fR.
1065 .TP
1066 .B record-size
1067 "Record size = %lu blocks"
1068 .HP
1069 Keywords controlling incremental extraction:
1070 .TP
1071 .B rename-directory
1072 "%s: Directory has been renamed from %s"
1073 .br
1074 "%s: Directory has been renamed"
1075 .TP
1076 .B new-directory
1077 "%s: Directory is new"
1078 .TP
1079 .B xdev
1080 "%s: directory is on a different device: not purging"
1081 .TP
1082 .B bad-dumpdir
1083 "Malformed dumpdir: 'X' never used"
1084 .RE
1085 .TP
1086 \fB\-w\fR, \fB\-\-interactive\fR, \fB\-\-confirmation\fR
1087 Ask for confirmation for every action.
1088 .SS Compatibility options
1089 .TP
1090 \fB\-o\fR
1091 When creating, same as \fB\-\-old\-archive\fR. When extracting, same
1092 as \fB\-\-no\-same\-owner\fR.
1093 .SS Size suffixes
1094 .sp
1095 .nf
1096 .ta 8n 18n 42n
1097 .ul
1098 Suffix Units Byte Equivalent
1099 b Blocks \fISIZE\fR x 512
1100 B Kilobytes \fISIZE\fR x 1024
1101 c Bytes \fISIZE\fR
1102 G Gigabytes \fISIZE\fR x 1024^3
1103 K Kilobytes \fISIZE\fR x 1024
1104 k Kilobytes \fISIZE\fR x 1024
1105 M Megabytes \fISIZE\fR x 1024^2
1106 P Petabytes \fISIZE\fR x 1024^5
1107 T Terabytes \fISIZE\fR x 1024^4
1108 w Words \fISIZE\fR x 2
1109 .fi
1110 .PP
1111 .SH "RETURN VALUE"
1112 Tar exit code indicates whether it was able to successfully perform
1113 the requested operation, and if not, what kind of error occurred.
1114 .TP
1115 .B 0
1116 Successful termination.
1117 .TP
1118 .B 1
1119 .I Some files differ.
1120 If tar was invoked with the \fB\-\-compare\fR (\fB\-\-diff\fR, \fB\-d\fR)
1121 command line option, this means that some files in the archive differ
1122 from their disk counterparts. If tar was given one of the \fB\-\-create\fR,
1123 \fB\-\-append\fR or \fB\-\-update\fR options, this exit code means
1124 that some files were changed while being archived and so the resulting
1125 archive does not contain the exact copy of the file set.
1126 .TP
1127 .B 2
1128 .I Fatal error.
1129 This means that some fatal, unrecoverable error occurred.
1130 .PP
1131 If a subprocess that had been invoked by
1132 .B tar
1133 exited with a nonzero exit code,
1134 .B tar
1135 itself exits with that code as well. This can happen, for example, if
1136 a compression option (e.g. \fB\-z\fR) was used and the external
1137 compressor program failed. Another example is
1138 .B rmt
1139 failure during backup to a remote device.
1140 .SH "SEE ALSO"
1141 .BR bzip2 (1),
1142 .BR compress (1),
1143 .BR gzip (1),
1144 .BR lzma (1),
1145 .BR lzop (1),
1146 .BR rmt (8),
1147 .BR symlink (7),
1148 .BR tar (5),
1149 .BR xz (1).
1150 .PP
1151 Complete \fBtar\fR manual: run
1152 .B info tar
1153 or use
1154 .BR emacs (1)
1155 info mode to read it.
1156 .PP
1157 Online copies of \fBGNU tar\fR documentation in various formats can be
1158 found at:
1159 .PP
1160 .in +4
1161 .B http://www.gnu.org/software/tar/manual
1162 .SH "BUG REPORTS"
1163 Report bugs to <bug\-tar@gnu.org>.
1164 .SH COPYRIGHT
1165 Copyright \(co 2013 Free Software Foundation, Inc.
1166 .br
1167 .na
1168 License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
1169 .br
1170 .ad
1171 This is free software: you are free to change and redistribute it.
1172 There is NO WARRANTY, to the extent permitted by law.
1173 .\" Local variables:
1174 .\" eval: (add-hook 'write-file-hooks 'time-stamp)
1175 .\" time-stamp-start: ".TH [A-Z_][A-Z0-9_.\\-]* [0-9] \""
1176 .\" time-stamp-format: "%:B %:d, %:y"
1177 .\" time-stamp-end: "\""
1178 .\" time-stamp-line-limit: 20
1179 .\" end:
1180
This page took 0.088332 seconds and 4 git commands to generate.