1 .\" This file is part of GNU tar. -*- nroff -*-
2 .\" Copyright 2013\(en2024 Free Software Foundation, Inc.
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.
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.
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 "July 11, 2022" "TAR" "GNU TAR Manual"
18 tar \- an archiving utility
21 \fBtar\fR {\fBA\fR|\fBc\fR|\fBd\fR|\fBr\fR|\fBt\fR|\fBu\fR|\fBx\fR}\
22 [\fBGnSkUWOmpsMBiajJzZhPlRvwo\fR] [\fIARG\fR...]
25 \fBtar\fR \fB\-A\fR [\fIOPTIONS\fR] \fB\-f\fR \fIARCHIVE\fR \fIARCHIVE\fR...
27 \fBtar\fR \fB\-c\fR [\fB\-f\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIFILE\fR...]
29 \fBtar\fR \fB\-d\fR [\fB\-f\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIFILE\fR...]
31 \fBtar\fR \fB\-r\fR [\fB\-f\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIFILE\fR...]
33 \fBtar\fR \fB\-t\fR [\fB\-f\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIMEMBER\fR...]
35 \fBtar\fR \fB\-u\fR [\fB\-f\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIFILE\fR...]
37 \fBtar\fR \fB\-x\fR [\fB\-f\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIMEMBER\fR...]
40 \fBtar\fR {\fB\-\-catenate\fR|\fB\-\-concatenate\fR} [\fIOPTIONS\fR] \fB\-\-file\fR \fIARCHIVE\fR \fIARCHIVE\fR...
42 \fBtar\fR \fB\-\-create\fR [\fB\-\-file\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIFILE\fR...]
44 \fBtar\fR {\fB\-\-diff\fR|\fB\-\-compare\fR} [\fB\-\-file\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIFILE\fR...]
46 \fBtar\fR \fB\-\-delete\fR [\fB\-\-file\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIMEMBER\fR...]
48 \fBtar\fR \fB\-\-append\fR [\fB\-\-file\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIFILE\fR...]
50 \fBtar\fR \fB\-\-list\fR [\fB\-\-file\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIMEMBER\fR...]
52 \fBtar\fR \fB\-\-test\-label\fR [\fB\-\-file\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fILABEL\fR...]
54 \fBtar\fR \fB\-\-update\fR [\fB\-\-file\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIFILE\fR...]
56 \fBtar\fR {\fB\-\-extract\fR|\fB\-\-get\fR} [\fB\-\-file\fR \fIARCHIVE\fR] [\fIOPTIONS\fR] [\fIMEMBER\fR...]
58 This manpage is a short description of GNU \fBtar\fR. For a detailed
59 discussion, including examples and usage recommendations, refer to the
60 \fBGNU Tar Manual\fR available in texinfo format. If the \fBinfo\fR
61 reader and the tar documentation are properly installed on your
68 should give you access to the complete manual.
70 You can also view the manual using the info mode in
72 or find it in various formats online at
75 .B https://www.gnu.org/software/tar/manual
78 If any discrepancies occur between this manpage and the
79 \fBGNU Tar Manual\fR, the later shall be considered the authoritative
84 is an archiving program designed to store multiple files in a single
85 file (an \fBarchive\fR), and to manipulate such archives. The archive
86 can be either a regular file or a device (e.g. a tape drive, hence the name
87 of the program, which stands for \fBt\fRape \fBar\fRchiver), which can
88 be located either on the local or on a remote machine.
92 Options to GNU \fBtar\fR can be given in three different styles.
94 .BR "traditional style" ,
95 the first argument is a cluster of option letters and all subsequent
96 arguments supply arguments to those options that require them. The
97 arguments are read in the same order as the option letters. Any
98 command line words that remain after all options have been processed
99 are treated as non-option arguments: file or archive member names.
101 For example, the \fBc\fR option requires creating the archive, the
102 \fBv\fR option requests the verbose operation, and the \fBf\fR option
103 takes an argument that sets the name of the archive to operate upon.
104 The following command, written in the traditional style, instructs tar
105 to store all files from the directory
107 into the archive file
109 verbosely listing the files being archived:
116 .BR "UNIX " or " short-option style" ,
117 each option letter is prefixed with a single dash, as in other command
118 line utilities. If an option takes an argument, the argument follows it,
119 either as a separate command line word, or immediately following the
120 option. However, if the option takes an \fBoptional\fR argument, the
121 argument must follow the option letter without any intervening
122 whitespace, as in \fB\-g/tmp/snar.db\fR.
124 Any number of options not taking arguments can be
125 clustered together after a single dash, e.g. \fB\-vkp\fR. An option
126 that takes an argument (whether mandatory or optional) can appear at
127 the end of such a cluster, e.g. \fB\-vkpf a.tar\fR.
129 The example command above written in the
130 .B short-option style
134 tar -cvf etc.tar /etc
138 tar -c -v -f etc.tar /etc
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
152 Here are several ways of writing the example command in this style:
155 tar --create --file etc.tar --verbose /etc
157 or (abbreviating some options):
159 tar --cre --file=etc.tar --verb /etc
162 The options in all three styles can be intermixed, although doing so
163 with old options is not encouraged.
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 The meaning of non-option arguments depends on the operation mode
170 \fB\-A\fR, \fB\-\-catenate\fR, \fB\-\-concatenate\fR
171 Append archives 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 when using the \fB\-i\fR
178 (\fB\-\-ignore\-zeros\fR) option.
180 Compressed archives cannot be concatenated.
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.
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.
193 Delete from the archive. The arguments supply names of the archive
194 members to be removed. At least one argument must be given.
196 This option does not operate on compressed archives. There is no
197 short option equivalent.
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\fR).
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.
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.
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.
217 There is no short option equivalent for this option.
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 the \fB\-c\fR and
222 \fB\-r\fR options. Notice, that newer files don't replace their
223 old archive copies, but instead are appended to the end of archive.
224 The resulting archive can thus contain several members of the
225 same name, corresponding to various versions of the same file.
227 \fB\-x\fR, \fB\-\-extract\fR, \fB\-\-get\fR
228 Extract files from an archive. Arguments are optional. When given,
229 they specify names of the archive members to be extracted.
232 \fB\-\-show\-defaults\fR
233 Show built-in defaults for various \fBtar\fR options and exit.
235 \fB\-?\fR, \fB\-\-help
236 Display a short option summary and exit.
239 Display a list of available options and exit.
242 Print program version and copyright information and exit.
244 .SS Operation modifiers
246 \fB\-\-check\-device\fR
247 Check device numbers when creating incremental archives (default).
249 \fB\-g\fR, \fB\-\-listed\-incremental\fR=\fIFILE\fR
250 Handle new GNU-format incremental backups. \fIFILE\fR is the name of
251 a \fBsnapshot file\fR, where \fBtar\fR stores additional information which
252 is used to decide which files changed since the previous incremental
253 dump and, consequently, must be dumped again. If \fIFILE\fR does not
254 exist when creating an archive, it will be created and all files will
255 be added to the resulting archive (the \fBlevel 0\fR dump). To create
256 incremental archives of non-zero level \fBN\fR, you need a copy of the
257 snapshot file created for level \fBN-1\fR, and use it as \fIFILE\fR.
259 When listing or extracting, the actual content of \fIFILE\fR is not
260 inspected, it is needed only due to syntactical requirements. It is
261 therefore common practice to use \fB/dev/null\fR in its place.
263 \fB\-\-hole\-detection\fR=\fIMETHOD\fR
264 Use \fIMETHOD\fR to detect holes in sparse files. This option implies
265 \fB\-\-sparse\fR. Valid values for \fIMETHOD\fR are \fBseek\fR and
266 \fBraw\fR. Default is \fBseek\fR with fallback to \fBraw\fR when not
269 \fB\-G\fR, \fB\-\-incremental\fR
270 Handle old GNU-format incremental backups.
272 \fB\-\-ignore\-failed\-read\fR
273 Do not exit with nonzero on unreadable files.
275 \fB\-\-level\fR=\fINUMBER\fR
276 Set dump level for a created listed-incremental archive. Currently only
277 \fB\-\-level=0\fR is meaningful: it instructs \fBtar\fR to truncate
278 the snapshot file before dumping, thereby forcing a level 0 dump.
280 \fB\-n\fR, \fB\-\-seek\fR
281 Assume the archive is seekable. Normally \fBtar\fR determines
282 automatically whether the archive can be seeked or not. This option
283 is intended for use in cases when such recognition fails. It takes
284 effect only if the archive is open for reading (e.g. with
290 \fB\-\-no\-check\-device\fR
291 Do not check device numbers when creating incremental archives.
294 Assume the archive is not seekable.
296 \fB\-\-occurrence\fR[=\fIN\fR]
297 Process only the \fIN\fRth occurrence of each file in the
298 archive. This option is valid only when used with one of the
299 following subcommands: \fB\-\-delete\fR, \fB\-\-diff\fR,
300 \fB\-\-extract\fR or \fB\-\-list\fR and when a list of files is given
301 either on the command line or via the \fB\-T\fR option. The default
305 Disable the use of some potentially harmful options.
307 \fB\-\-sparse\-version\fR=\fIMAJOR\fR[.\fIMINOR\fR]
308 Set which version of the sparse format to use.
311 Valid argument values are
315 For a detailed discussion of sparse formats, refer to the \fBGNU Tar
316 Manual\fR, appendix \fBD\fR, "\fBSparse Formats\fR". Using the \fBinfo\fR
317 reader, it can be accessed running the following command:
318 .BR "info tar 'Sparse Formats'" .
320 \fB\-S\fR, \fB\-\-sparse\fR
321 Handle sparse files efficiently. Some files in the file system may
322 have segments which were actually never written (quite often these are
323 database files created by such systems as \fBDBM\fR). When given this
324 option, \fBtar\fR attempts to determine if the file is sparse prior to
325 archiving it, and if so, to reduce the resulting archive size by not
326 dumping empty parts of the file.
327 .SS Overwrite control
328 These options control \fBtar\fR actions when extracting a file over
329 an existing copy on disk.
331 \fB\-k\fR, \fB\-\-keep\-old\-files\fR
332 Don't replace existing files when extracting.
334 \fB\-\-keep\-newer\-files\fR
335 Don't replace existing files that are newer than their archive copies.
337 \fB\-\-keep\-directory\-symlink\fR
338 Don't replace existing symlinks to directories when extracting.
340 \fB\-\-no\-overwrite\-dir\fR
341 Preserve metadata of existing directories.
343 \fB\-\-one\-top\-level\fR[\fB=\fIDIR\fR]
344 Extract all files into \fIDIR\fR, or, if used without argument, into a
345 subdirectory named by the base name of the archive (minus standard
346 compression suffixes recognizable by \fB\-\-auto\-compress).
349 Overwrite existing files when extracting.
351 \fB\-\-overwrite\-dir\fR
352 Overwrite metadata of existing directories when extracting (default).
354 \fB\-\-recursive\-unlink\fR
355 Recursively remove all files in the directory prior to extracting it.
357 \fB\-\-remove\-files\fR
358 Remove files from disk after adding them to the archive.
360 \fB\-\-skip\-old\-files
361 Don't replace existing files when extracting, silently skip over them.
363 \fB\-U\fR, \fB\-\-unlink\-first\fR
364 Remove each file prior to extracting over it.
366 \fB\-W\fR, \fB\-\-verify\fR
367 Verify the archive after writing it.
368 .SS Output stream selection
370 \fB\-\-ignore\-command\-error\fR
371 Ignore subprocess exit codes.
373 \fB\-\-no\-ignore\-command\-error\fR
374 Treat non-zero exit codes of children as error (default).
376 \fB\-O\fR, \fB\-\-to\-stdout\fR
377 Extract files to standard output.
379 \fB\-\-to\-command\fR=\fICOMMAND\fR
380 Pipe extracted files to \fICOMMAND\fR. The argument is the pathname
381 of an external program, optionally with command line arguments. The
382 program will be invoked and the contents of the file being extracted
383 supplied to it on its standard input. Additional data will be
384 supplied via the following environment variables:
388 Type of the file. It is a single letter with the following meaning:
400 Currently only regular files are supported.
403 File mode, an octal number.
406 The name of the file.
409 Name of the file as stored in the archive.
412 Name of the file owner.
415 Name of the file owner group.
418 Time of last access. It is a decimal number, representing seconds
419 since the Epoch. If the archive provides times with nanosecond
420 precision, the nanoseconds are appended to the timestamp after a
424 Time of last modification.
427 Time of last status change.
433 UID of the file owner.
436 GID of the file owner.
440 Additionally, the following variables contain information about
441 \fBtar\fR operation mode and the archive being processed:
444 GNU \fBtar\fR version number.
447 The name of the archive \fBtar\fR is processing.
449 .B TAR_BLOCKING_FACTOR
450 Current blocking factor, i.e. number of 512-byte blocks in a record.
453 Ordinal number of the volume \fBtar\fR is processing (set if
454 reading a multi-volume archive).
457 Format of the archive being processed. One of:
465 A short option (with a leading dash) describing the operation \fBtar\fR is
468 .SS Handling of file attributes
470 \fB\-\-atime\-preserve\fR[=\fIMETHOD\fR]
471 Preserve access times on dumped files, either by restoring the times
472 after reading (\fIMETHOD\fR=\fBreplace\fR, this is the default) or by
473 not setting the times in the first place (\fIMETHOD\fR=\fBsystem\fR).
475 \fB\-\-delay\-directory\-restore\fR
476 Delay setting modification times and permissions of extracted
477 directories until the end of extraction. Use this option when
478 extracting from an archive which has unusual member ordering.
480 \fB\-\-group\fR=\fINAME\fR[:\fIGID\fR]
481 Force \fINAME\fR as group for added files. If \fIGID\fR is not
482 supplied, \fINAME\fR can be either a user name or numeric GID. In
483 this case the missing part (GID or name) will be inferred from the
484 current host's group database.
486 When used with \fB\-\-group\-map\fR=\fIFILE\fR, affects only those
487 files whose owner group is not listed in \fIFILE\fR.
489 \fB\-\-group\-map\fR=\fIFILE\fR
490 Read group translation map from \fIFILE\fR. Empty lines are ignored.
491 Comments are introduced with \fB#\fR sign and extend to the end of line.
492 Each non-empty line in \fIFILE\fR defines translation for a single
493 group. It must consist of two fields, delimited by any amount of whitespace:
496 \fIOLDGRP\fR \fINEWGRP\fR[\fB:\fINEWGID\fR]
499 \fIOLDGRP\fR is either a valid group name or a GID prefixed with
500 \fB+\fR. Unless \fINEWGID\fR is supplied, \fINEWGRP\fR must also be
501 either a valid group name or a \fB+\fIGID\fR. Otherwise, both
502 \fINEWGRP\fR and \fINEWGID\fR need not be listed in the system group
505 As a result, each input file with owner group \fIOLDGRP\fR will be
506 stored in archive with owner group \fINEWGRP\fR and GID \fINEWGID\fR.
508 \fB\-\-mode\fR=\fICHANGES\fR
509 Force symbolic mode \fICHANGES\fR for added files.
511 \fB\-\-mtime\fR=\fIDATE-OR-FILE\fR
512 Set mtime for added files. \fIDATE-OR-FILE\fR is either a date/time
513 in almost arbitrary format, or the name of an existing file. In the
514 latter case the mtime of that file will be used.
516 \fB\-m\fR, \fB\-\-touch\fR
517 Don't extract file modified time.
519 \fB\-\-no\-delay\-directory\-restore\fR
520 Cancel the effect of the prior \fB\-\-delay\-directory\-restore\fR option.
522 \fB\-\-no\-same\-owner\fR
523 Extract files as yourself (default for ordinary users).
525 \fB\-\-no\-same\-permissions\fR
526 Apply the user's umask when extracting permissions from the archive
527 (default for ordinary users).
529 \fB\-\-numeric\-owner\fR
530 Always use numbers for user/group names.
532 \fB\-\-owner\fR=\fINAME\fR[:\fIUID\fR]
533 Force \fINAME\fR as owner for added files. If \fIUID\fR is not
534 supplied, \fINAME\fR can be either a user name or numeric UID. In
535 this case the missing part (UID or name) will be inferred from the
536 current host's user database.
538 When used with \fB\-\-owner\-map\fR=\fIFILE\fR, affects only those
539 files whose owner is not listed in \fIFILE\fR.
541 \fB\-\-owner\-map\fR=\fIFILE\fR
542 Read owner translation map from \fIFILE\fR. Empty lines are ignored.
543 Comments are introduced with \fB#\fR sign and extend to the end of line.
544 Each non-empty line in \fIFILE\fR defines translation for a single
545 UID. It must consist of two fields, delimited by any amount of whitespace:
548 \fIOLDUSR\fR \fINEWUSR\fR[\fB:\fINEWUID\fR]
551 \fIOLDUSR\fR is either a valid user name or a UID prefixed with
552 \fB+\fR. Unless \fINEWUID\fR is supplied, \fINEWUSR\fR must also be
553 either a valid user name or a \fB+\fIUID\fR. Otherwise, both
554 \fINEWUSR\fR and \fINEWUID\fR need not be listed in the system user
557 As a result, each input file owned by \fIOLDUSR\fR will be
558 stored in archive with owner name \fINEWUSR\fR and UID \fINEWUID\fR.
560 \fB\-p\fR, \fB\-\-preserve\-permissions\fR, \fB\-\-same\-permissions\fR
561 Set permissions of extracted files to those recorded in the archive
562 (default for superuser).
564 \fB\-\-same\-owner\fR
565 Try extracting files with the same ownership as exists in the archive
566 (default for superuser).
568 \fB\-s\fR, \fB\-\-preserve\-order\fR, \fB\-\-same\-order\fR
569 Tell \fBtar\fR that the list of file names to process is sorted in the
570 same order as the files in the archive.
572 \fB\-\-sort=\fIORDER\fR
573 When creating an archive, sort directory entries according to
574 \fIORDER\fR, which is one of
579 The default is \fB\-\-sort=none\fR, which stores archive members in
580 the same order as returned by the operating system.
582 Using \fB\-\-sort=name\fR ensures the member ordering in the created archive
583 is uniform and reproducible.
585 Using \fB\-\-sort=inode\fR reduces the number of disk seeks made when
586 creating the archive and thus can considerably speed up archivation.
587 This sorting order is supported only if the underlying system provides
588 the necessary information.
589 .SS Extended file attributes
592 Enable POSIX ACLs support.
595 Disable POSIX ACLs support.
598 Enable SELinux context support.
601 Disable SELinux context support.
604 Enable extended attributes support.
607 Disable extended attributes support.
609 .BI \-\-xattrs\-exclude= PATTERN
610 Specify the exclude pattern for xattr keys. \fIPATTERN\fR is a globbing
611 pattern, e.g. \fB\-\-xattrs\-exclude='user.*'\fR to include only
612 attributes from the user namespace.
614 .BI \-\-xattrs\-include= PATTERN
615 Specify the include pattern for xattr keys. \fIPATTERN\fR is a globbing
617 .SS Device selection and switching
619 \fB\-f\fR, \fB\-\-file\fR=\fIARCHIVE\fR
620 Use archive file or device \fIARCHIVE\fR. If this option is not
621 given, \fBtar\fR will first examine the environment variable `TAPE'.
622 If it is set, its value will be used as the archive name. Otherwise,
623 \fBtar\fR will assume the compiled-in default. The default
624 value can be inspected either using the
625 .B \-\-show\-defaults
626 option, or at the end of the \fBtar \-\-help\fR output.
628 An archive name that has a colon in it specifies a file or device on a
629 remote machine. The part before the colon is taken as the machine
630 name or IP address, and the part after it as the file or device
634 --file=remotehost:/dev/sr0
637 An optional username can be prefixed to the hostname, placing a \fB@\fR
640 By default, the remote host is accessed via the
642 command. Nowadays it is common to use
644 instead. You can do so by giving the following command line option:
647 --rsh-command=/usr/bin/ssh
650 The remote machine should have the
652 command installed. If its pathname does not match \fBtar\fR's
653 default, you can inform \fBtar\fR about the correct pathname using the
657 \fB\-\-force\-local\fR
658 Archive file is local even if it has a colon.
660 \fB\-F\fR, \fB\-\-info\-script\fR=\fICOMMAND\fR, \fB\-\-new\-volume\-script\fR=\fICOMMAND\fR
661 Run \fICOMMAND\fR at the end of each tape (implies \fB\-M\fR). The
662 command can include arguments. When started, it will inherit \fBtar\fR's
663 environment plus the following variables:
667 GNU \fBtar\fR version number.
670 The name of the archive \fBtar\fR is processing.
672 .B TAR_BLOCKING_FACTOR
673 Current blocking factor, i.e. number of 512-byte blocks in a record.
676 Ordinal number of the volume \fBtar\fR is processing (set if
677 reading a multi-volume archive).
680 Format of the archive being processed. One of:
688 A short option (with a leading dash) describing the operation \fBtar\fR is
692 File descriptor which can be used to communicate the new volume name
698 If the info script fails, \fBtar\fR exits; otherwise, it begins writing
702 \fB\-L\fR, \fB\-\-tape\-length\fR=\fIN\fR
703 Change tape after writing \fIN\fRx1024 bytes. If \fIN\fR is followed
704 by a size suffix (see the subsection
706 below), the suffix specifies the multiplicative factor to be used
712 \fB\-M\fR, \fB\-\-multi\-volume\fR
713 Create/list/extract multi-volume archive.
715 \fB\-\-rmt\-command\fR=\fICOMMAND\fR
716 Use \fICOMMAND\fR instead of \fBrmt\fR when accessing remote
717 archives. See the description of the
721 \fB\-\-rsh\-command\fR=\fICOMMAND\fR
722 Use \fICOMMAND\fR instead of \fBrsh\fR when accessing remote
723 archives. See the description of the
727 \fB\-\-volno\-file\fR=\fIFILE\fR
728 When this option is used in conjunction with
729 .BR \-\-multi\-volume ,
731 will keep track of which volume of a multi-volume archive it is
732 working in \fIFILE\fR.
735 \fB\-b\fR, \fB\-\-blocking\-factor\fR=\fIBLOCKS\fR
736 Set record size to \fIBLOCKS\fRx\fB512\fR bytes.
738 \fB\-B\fR, \fB\-\-read\-full\-records\fR
739 When listing or extracting, accept incomplete input records after
742 \fB\-i\fR, \fB\-\-ignore\-zeros\fR
743 Ignore zeroed blocks in archive. Normally two consecutive 512-blocks
744 filled with zeroes mean EOF and \fBtar\fR stops reading after encountering
745 them. This option instructs it to read further and is useful when
746 reading archives created with the \fB\-A\fR option.
748 \fB\-\-record\-size\fR=\fINUMBER\fR
749 Set record size. \fINUMBER\fR is the number of bytes per record. It
750 must be multiple of \fB512\fR. It can can be suffixed with a \fBsize
751 suffix\fR, e.g. \fB\-\-record-size=10K\fR, for 10 Kilobytes. See the
753 .BR "Size suffixes" ,
754 for a list of valid suffixes.
755 .SS Archive format selection
757 \fB\-H\fR, \fB\-\-format\fR=\fIFORMAT\fR
758 Create archive of the given format. Valid formats are:
762 GNU tar 1.13.x format
765 GNU format as per tar <= 1.12.
767 \fBpax\fR, \fBposix\fR
768 POSIX 1003.1-2001 (pax) format.
771 POSIX 1003.1-1988 (ustar) format.
777 \fB\-\-old\-archive\fR, \fB\-\-portability\fR
778 Same as \fB\-\-format=v7\fR.
780 \fB\-\-pax\-option\fR=\fIkeyword\fR[[:]=\fIvalue\fR][,\fIkeyword\fR[[:]=\fIvalue\fR]]...
781 Control pax keywords when creating \fBPAX\fR archives (\fB\-H
782 pax\fR). This option is equivalent to the \fB\-o\fR option of the
787 Same as \fB\-\-format=posix\fR.
789 \fB\-V\fR, \fB\-\-label\fR=\fITEXT\fR
790 Create archive with volume name \fITEXT\fR. If listing or extracting,
791 use \fITEXT\fR as a globbing pattern for volume name.
792 .SS Compression options
794 \fB\-a\fR, \fB\-\-auto\-compress\fR
795 Use archive suffix to determine the compression program.
797 \fB\-I\fR, \fB\-\-use\-compress\-program\fI=\fICOMMAND\fR
798 Filter data through \fICOMMAND\fR. It must accept the \fB\-d\fR
799 option, for decompression. The argument can contain command line
802 \fB\-j\fR, \fB\-\-bzip2\fR
803 Filter the archive through
806 \fB\-J\fR, \fB\-\-xz\fR
807 Filter the archive through
811 Filter the archive through
815 Filter the archive through
819 Filter the archive through
822 \fB\-\-no\-auto\-compress\fR
823 Do not use archive suffix to determine the compression program.
825 \fB\-z\fR, \fB\-\-gzip\fR, \fB\-\-gunzip\fR, \fB\-\-ungzip\fR
826 Filter the archive through
829 \fB\-Z\fR, \fB\-\-compress\fR, \fB\-\-uncompress\fR
830 Filter the archive through
834 Filter the archive through
836 .SS Local file selection
838 \fB\-\-add\-file\fR=\fIFILE\fR
839 Add \fIFILE\fR to the archive (useful if its name starts with a dash).
841 \fB\-\-backup\fR[=\fICONTROL\fR]
842 Backup before removal. The \fICONTROL\fR argument, if supplied,
843 controls the backup policy. Its valid values are:
850 Make numbered backups.
852 .BR nil ", " existing
853 Make numbered backups if numbered backups exist, simple backups otherwise.
855 .BR never ", " simple
856 Always make simple backups
860 If \fICONTROL\fR is not given, the value is taken from the
862 environment variable. If it is not set, \fBexisting\fR is assumed.
865 \fB\-C\fR, \fB\-\-directory\fR=\fIDIR\fR
866 Change to \fIDIR\fR before performing any operations. This option is
867 order-sensitive, i.e. it affects all options that follow.
869 \fB\-\-exclude\fR=\fIPATTERN\fR
870 Exclude files matching \fIPATTERN\fR, a
874 \fB\-\-exclude\-backups\fR
875 Exclude backup and lock files.
877 \fB\-\-exclude\-caches\fR
878 Exclude contents of directories containing file \fBCACHEDIR.TAG\fR,
879 except for the tag file itself.
881 \fB\-\-exclude\-caches\-all\fR
882 Exclude directories containing file \fBCACHEDIR.TAG\fR and the file itself.
884 \fB\-\-exclude\-caches\-under\fR
885 Exclude everything under directories containing \fBCACHEDIR.TAG\fR
887 \fB\-\-exclude\-ignore=\fIFILE\fR
888 Before dumping a directory, see if it contains \fIFILE\fR.
889 If so, read exclusion patterns from this file. The patterns affect
890 only the directory itself.
892 \fB\-\-exclude\-ignore\-recursive=\fIFILE\fR
893 Same as \fB\-\-exclude\-ignore\fR, except that patterns from
894 \fIFILE\fR affect both the directory and all its subdirectories.
896 \fB\-\-exclude\-tag\fR=\fIFILE\fR
897 Exclude contents of directories containing \fIFILE\fR, except for
900 \fB\-\-exclude\-tag\-all\fR=\fIFILE\fR
901 Exclude directories containing \fIFILE\fR.
903 \fB\-\-exclude\-tag\-under\fR=\fIFILE\fR
904 Exclude everything under directories containing \fIFILE\fR.
906 \fB\-\-exclude\-vcs\fR
907 Exclude version control system directories.
909 \fB\-\-exclude\-vcs\-ignores\fR
910 Exclude files that match patterns read from VCS-specific ignore
911 files. Supported files are:
914 .BR .bzrignore ", and"
917 \fB\-h\fR, \fB\-\-dereference\fR
918 Follow symlinks; archive and dump the files they point to.
920 \fB\-\-hard\-dereference\fR
921 Follow hard links; archive and dump the files they refer to.
923 \fB\-K\fR, \fB\-\-starting\-file\fR=\fIMEMBER\fR
924 Begin at the given member in the archive.
926 \fB\-\-newer\-mtime\fR=\fIDATE\fR
927 Work on files whose data changed after the \fIDATE\fR. If \fIDATE\fR
928 starts with \fB/\fR or \fB.\fR it is taken to be a file name; the
929 mtime of that file is used as the date.
932 Disable the effect of the previous \fB\-\-null\fR option.
934 \fB\-\-no\-recursion\fR
935 Avoid descending automatically in directories.
937 \fB\-\-no\-unquote\fR
938 Do not unquote input file or member names.
940 \fB\-\-no\-verbatim\-files\-from\fR
941 Treat each line read from a file list as if it were supplied in the
942 command line. I.e., leading and trailing whitespace is removed and,
943 if the resulting string begins with a dash, it is treated as \fBtar\fR
946 This is the default behavior. The \fB\-\-no\-verbatim\-files\-from\fR
947 option is provided as a way to restore it after
948 \fB\-\-verbatim\-files\-from\fR option.
950 This option is positional: it affects all \fB\-\-files\-from\fR
951 options that occur after it in, until \fB\-\-verbatim\-files\-from\fR
952 option or end of line, whichever occurs first.
954 It is implied by the \fB\-\-no\-null\fR option.
957 Instruct subsequent \fB\-T\fR options to read null-terminated names
958 verbatim (disables special handling of names that start with a dash).
960 See also \fB\-\-verbatim\-files\-from\fR.
962 \fB\-N\fR, \fB\-\-newer\fR=\fIDATE\fR, \fB\-\-after\-date\fR=\fIDATE\fR
963 Only store files newer than DATE. If \fIDATE\fR starts with \fB/\fR
964 or \fB.\fR it is taken to be a file name; the mtime of that file is
967 \fB\-\-one\-file\-system\fR
968 Stay in local file system when creating archive.
970 \fB\-P\fR, \fB\-\-absolute\-names\fR
971 Don't strip leading slashes from file names when creating archives.
974 Recurse into directories (default).
976 \fB\-\-suffix\fR=\fISTRING\fR
977 Backup before removal, override usual suffix. Default suffix is \fB~\fR,
978 unless overridden by environment variable \fBSIMPLE_BACKUP_SUFFIX\fR.
980 \fB\-T\fR, \fB\-\-files\-from\fR=\fIFILE\fR
981 Get names to extract or create from \fIFILE\fR.
983 Unless specified otherwise, the \fIFILE\fR must contain a list of
984 names separated by ASCII \fBLF\fR (i.e. one name per line). The
985 names read are handled the same way as command line arguments. They
986 undergo quote removal and word splitting, and any string that starts
987 with a \fB\-\fR is handled as \fBtar\fR command line option.
989 If this behavior is undesirable, it can be turned off using the
990 \fB\-\-verbatim\-files\-from\fR option.
992 The \fB\-\-null\fR option instructs \fBtar\fR that the names in
993 \fIFILE\fR are separated by ASCII \fBNUL\fR character, instead of
994 \fBLF\fR. It is useful if the list is generated by
1000 Unquote file or member names (default).
1002 \fB\-\-verbatim\-files\-from\fR
1003 Treat each line obtained from a file list as a file name, even if it
1004 starts with a dash. File lists are supplied with the
1005 \fB\-\-files\-from\fR (\fB\-T\fR) option. The default behavior is to
1006 handle names supplied in file lists as if they were typed in the
1007 command line, i.e. any names starting with a dash are treated as
1008 \fBtar\fR options. The \fB\-\-verbatim\-files\-from\fR option
1009 disables this behavior.
1011 This option affects all \fB\-\-files\-from\fR options that occur after
1012 it in the command line. Its effect is reverted by the
1013 \fB\-\-no\-verbatim\-files\-from\fR option.
1015 This option is implied by the \fB\-\-null\fR option.
1017 See also \fB\-\-add\-file\fR.
1019 \fB\-X\fR, \fB\-\-exclude\-from\fR=\fIFILE\fR
1020 Exclude files matching patterns listed in FILE.
1021 .SS File name transformations
1023 \fB\-\-strip\-components\fR=\fINUMBER\fR
1024 Strip \fINUMBER\fR leading components from file names on extraction.
1026 \fB\-\-transform\fR=\fIEXPRESSION\fR, \fB\-\-xform\fR=\fIEXPRESSION\fR
1027 Use sed replace \fIEXPRESSION\fR to transform file names.
1028 .SS File name matching options
1029 These options affect both exclude and include patterns.
1032 Patterns match file name start.
1034 \fB\-\-ignore\-case\fR
1037 \fB\-\-no\-anchored\fR
1038 Patterns match after any \fB/\fR (default for exclusion).
1040 \fB\-\-no\-ignore\-case\fR
1041 Case sensitive matching (default).
1043 \fB\-\-no\-wildcards\fR
1044 Verbatim string matching.
1046 \fB\-\-no\-wildcards\-match\-slash\fR
1047 Wildcards do not match \fB/\fR.
1050 Use wildcards (default for exclusion).
1052 \fB\-\-wildcards\-match\-slash\fR
1053 Wildcards match \fB/\fR (default for exclusion).
1054 .SS Informative output
1056 \fB\-\-checkpoint\fR[=\fIN\fR]
1057 Display progress messages every \fIN\fRth record (default 10).
1059 \fB\-\-checkpoint\-action\fR=\fIACTION\fR
1060 Run \fIACTION\fR on each checkpoint.
1062 \fB\-\-clamp\-mtime\fR
1063 Only set time when the file is more recent than what was given with
1066 \fB\-\-full\-time\fR
1067 Print file time to its full resolution.
1069 \fB\-\-index\-file\fR=\fIFILE\fR
1070 Send verbose output to \fIFILE\fR.
1072 \fB\-l\fR, \fB\-\-check\-links\fR
1073 Print a message if not all links are dumped.
1075 \fB\-\-no\-quote\-chars\fR=\fISTRING\fR
1076 Disable quoting for characters from \fISTRING\fR.
1078 \fB\-\-quote\-chars\fR=\fISTRING\fR
1079 Additionally quote characters from \fISTRING\fR.
1081 \fB\-\-quoting\-style\fR=\fISTYLE\fR
1082 Set quoting style for file and member names. Valid values for
1093 \fB\-R\fR, \fB\-\-block\-number\fR
1094 Show block number within archive with each message.
1096 \fB\-\-show\-omitted\-dirs\fR
1097 When listing or extracting, list each directory that does not match
1100 \fB\-\-show\-transformed\-names\fR, \fB\-\-show\-stored\-names\fR
1101 Show file or archive names after transformation by \fB\-\-strip\fR and
1102 \fB\-\-transform\fR options.
1104 \fB\-\-totals\fR[=\fISIGNAL\fR]
1105 Print total bytes after processing the archive. If \fISIGNAL\fR is
1106 given, print total bytes when this signal is delivered. Allowed
1113 The \fBSIG\fR prefix can be omitted.
1116 Print file modification times in UTC.
1118 \fB\-v\fR, \fB\-\-verbose\fR
1119 Verbosely list files processed. Each instance of this option on the
1120 command line increases the verbosity level by one. The maximum
1121 verbosity level is 3. For a detailed discussion of how various
1122 verbosity levels affect tar's output, please refer to \fBGNU Tar
1123 Manual\fR, subsection 2.5.2 "\fBThe '\-\-verbose' Option\fR".
1125 \fB\-\-warning\fR=\fIKEYWORD\fR
1126 Enable or disable warning messages identified by \fIKEYWORD\fR. The
1127 messages are suppressed if \fIKEYWORD\fR is prefixed with \fBno\-\fR
1128 and enabled otherwise.
1130 Multiple \fB\-\-warning\fR options accumulate.
1132 Keywords controlling general \fBtar\fR operation:
1136 Enable all warning messages. This is the default.
1139 Disable all warning messages.
1141 .B filename-with-nuls
1142 "%s: file name read contains nul character"
1145 "A lone zero block at %s"
1147 Keywords applicable for \fBtar --create\fR:
1150 "%s: contains a cache directory tag %s; %s"
1153 "%s: File shrank by %s bytes; padding with zeros"
1156 "%s: file is on a different filesystem; not dumped"
1159 "%s: Unknown file type; file ignored"
1161 "%s: socket ignored"
1166 "%s: file is unchanged; not dumped"
1169 "%s: archive cannot contain itself; not dumped"
1172 "%s: File removed before we read it"
1175 "%s: file changed as we read it"
1178 Suppresses warnings about unreadable files or directories. This
1179 keyword applies only if used together with the
1180 .B \-\-ignore\-failed\-read
1183 Keywords applicable for \fBtar --extract\fR:
1186 "%s: skipping existing file"
1189 "%s: implausibly old time stamp %s"
1191 "%s: time stamp %s is %s s in the future"
1194 "Extracting contiguous files as regular files"
1197 "Attempting extraction of symbolic links as hard links"
1200 "%s: Unknown file type '%c', extracted as normal file"
1203 "Current %s is newer or same age"
1206 "Ignoring unknown extended header keyword '%s'"
1208 .B decompress-program
1209 Controls verbose description of failures occurring when trying to run
1210 alternative decompressor programs. This warning is disabled by
1211 default (unless \fB\-\-verbose\fR is used). A common example of what
1212 you can get when using this warning is:
1215 $ tar --warning=decompress-program -x -f archive.Z
1216 tar (child): cannot run compress: No such file or directory
1217 tar (child): trying gzip
1220 This means that \fBtar\fR first tried to decompress
1221 \fBarchive.Z\fR using \fBcompress\fR, and, when that
1222 failed, switched to \fBgzip\fR.
1225 "Record size = %lu blocks"
1227 Keywords controlling incremental extraction:
1230 "%s: Directory has been renamed from %s"
1232 "%s: Directory has been renamed"
1235 "%s: Directory is new"
1238 "%s: directory is on a different device: not purging"
1241 "Malformed dumpdir: 'X' never used"
1244 \fB\-w\fR, \fB\-\-interactive\fR, \fB\-\-confirmation\fR
1245 Ask for confirmation for every action.
1246 .SS Compatibility options
1249 When creating, same as \fB\-\-old\-archive\fR. When extracting, same
1250 as \fB\-\-no\-same\-owner\fR.
1256 Suffix Units Byte Equivalent
1257 b Blocks \fISIZE\fR x 512
1258 B Kilobytes \fISIZE\fR x 1024
1260 G Gigabytes \fISIZE\fR x 1024^3
1261 K Kilobytes \fISIZE\fR x 1024
1262 k Kilobytes \fISIZE\fR x 1024
1263 M Megabytes \fISIZE\fR x 1024^2
1264 P Petabytes \fISIZE\fR x 1024^5
1265 T Terabytes \fISIZE\fR x 1024^4
1266 w Words \fISIZE\fR x 2
1270 Tar's exit code indicates whether it was able to successfully perform
1271 the requested operation, and if not, what kind of error occurred.
1274 Successful termination.
1277 .I Some files differ.
1278 If \fBtar\fR was invoked with the \fB\-\-compare\fR (\fB\-\-diff\fR, \fB\-d\fR)
1279 command line option, this means that some files in the archive differ
1280 from their disk counterparts. If \fBtar\fR was given one of the \fB\-\-create\fR,
1281 \fB\-\-append\fR or \fB\-\-update\fR options, this exit code means
1282 that some files were changed while being archived and so the resulting
1283 archive does not contain the exact copy of the file set.
1287 This means that some fatal, unrecoverable error occurred.
1289 If a subprocess that had been invoked by
1291 exited with a nonzero exit code,
1293 itself exits with that code as well. This can happen, for example, if
1294 a compression option (e.g. \fB\-z\fR) was used and the external
1295 compressor program failed. Another example is
1297 failure during backup to a remote device.
1309 Complete \fBtar\fR manual: run
1313 info mode to read it.
1315 Online copies of \fBGNU tar\fR documentation in various formats can be
1319 .B https://www.gnu.org/software/tar/manual
1321 Report bugs to <bug\-tar@gnu.org>.
1323 Copyright \(co 2023 Free Software Foundation, Inc.
1326 License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
1329 This is free software: you are free to change and redistribute it.
1330 There is NO WARRANTY, to the extent permitted by law.
1331 .\" Local variables:
1332 .\" eval: (add-hook 'write-file-hooks 'time-stamp)
1333 .\" time-stamp-start: ".TH [A-Z_][A-Z0-9_.\\-]* [0-9] \""
1334 .\" time-stamp-format: "%:B %:d, %:y"
1335 .\" time-stamp-end: "\""
1336 .\" time-stamp-line-limit: 20