[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.2 tar Options

--absolute-names
-P

Normally when creating an archive, tar strips an initial ‘/’ from member names. This option disables that behavior. See section Absolute File Names.

--after-date

(See ‘--newer’, see section Operating Only on New Files)

--anchored

A pattern must match an initial subsequence of the name's components. See section Controlling Pattern-Matching.

--atime-preserve
--atime-preserve=replace
--atime-preserve=system

Attempt to preserve the access time of files when reading them. This option currently is effective only on files that you own, unless you have superuser privileges.

--atime-preserve=replace’ remembers the access time of a file before reading it, and then restores the access time afterwards. This may cause problems if other programs are reading the file at the same time, as the times of their accesses will be lost. On most platforms restoring the access time also requires tar to restore the data modification time too, so this option may also cause problems if other programs are writing the file at the same time (tar attempts to detect this situation, but cannot do so reliably due to race conditions). Worse, on most platforms restoring the access time also updates the status change time, which means that this option is incompatible with incremental backups.

--atime-preserve=system’ avoids changing time stamps on files, without interfering with time stamp updates caused by other programs, so it works better with incremental backups. However, it requires a special O_NOATIME option from the underlying operating and file system implementation, and it also requires that searching directories does not update their access times. As of this writing (November 2005) this works only with Linux, and only with Linux kernels 2.6.8 and later. Worse, there is currently no reliable way to know whether this feature actually works. Sometimes tar knows that it does not work, and if you use ‘--atime-preserve=system’ then tar complains and exits right away. But other times tar might think that the option works when it actually does not.

Currently ‘--atime-preserve’ with no operand defaults to ‘--atime-preserve=replace’, but this may change in the future as support for ‘--atime-preserve=system’ improves.

If your operating or file system does not support ‘--atime-preserve=system’, you might be able to preserve access times reliably by using the mount command. For example, you can mount the file system read-only, or access the file system via a read-only loopback mount, or use the ‘noatime’ mount option available on some systems. However, mounting typically requires superuser privileges and can be a pain to manage.

--auto-compress
-a

During a ‘--create’ operation, enables automatic compressed format recognition based on the archive suffix. The effect of this option is cancelled by ‘--no-auto-compress’. See section Creating and Reading Compressed Archives.

--backup=backup-type

Rather than deleting files from the file system, tar will back them up using simple or numbered backups, depending upon backup-type. See section Backup options.

--block-number
-R

With this option present, tar prints error messages for read errors with the block number in the archive file. See block-number.

--blocking-factor=blocking
-b blocking

Sets the blocking factor tar uses to blocking x 512 bytes per record. See section The Blocking Factor of an Archive.

--bzip2
-j

This option tells tar to read or write archives through bzip2. See section Creating and Reading Compressed Archives.

--check-device

Check device numbers when creating a list of modified files for incremental archiving. This is the default. See device numbers, for a detailed description.

--checkpoint[=number]

This option directs tar to print periodic checkpoint messages as it reads through the archive. It is intended for when you want a visual indication that tar is still running, but don't want to see ‘--verbose’ output. You can also instruct tar to execute a list of actions on each checkpoint, see ‘--checkpoint-action’ below. For a detailed description, see Checkpoints.

--checkpoint-action=action

Instruct tar to execute an action upon hitting a breakpoint. Here we give only a brief outline. See section Checkpoints, for a complete description.

The action argument can be one of the following:

bell

Produce an audible bell on the console.

dot
.

Print a single dot on the standard listing stream.

echo

Display a textual message on the standard error, with the status and number of the checkpoint. This is the default.

echo=string

Display string on the standard error. Before output, the string is subject to meta-character expansion.

exec=command

Execute the given command.

sleep=time

Wait for time seconds.

ttyout=string

Output string on the current console (‘/dev/tty’).

Several ‘--checkpoint-action’ options can be specified. The supplied actions will be executed in order of their appearance in the command line.

Using ‘--checkpoint-action’ without ‘--checkpoint’ assumes default checkpoint frequency of one checkpoint per 10 records.

--check-links
-l

If this option was given, tar will check the number of links dumped for each processed file. If this number does not match the total number of hard links for the file, a warning message will be output (6).

See section Hard Links.

--compress
--uncompress
-Z

tar will use the compress program when reading or writing the archive. This allows you to directly act on archives while saving space. See section Creating and Reading Compressed Archives.

--confirmation

(See ‘--interactive’.) See section Asking for Confirmation During Operations.

--delay-directory-restore

Delay setting modification times and permissions of extracted directories until the end of extraction. See section Directory Modification Times and Permissions.

--dereference
-h

When reading or writing a file to be archived, tar accesses the file that a symbolic link points to, rather than the symlink itself. See section Symbolic Links.

--directory=dir
-C dir

When this option is specified, tar will change its current directory to dir before performing any operations. When this option is used during archive creation, it is order sensitive. See section Changing the Working Directory.

--exclude=pattern

When performing operations, tar will skip files that match pattern. See section Excluding Some Files.

--exclude-backups

Exclude backup and lock files. See section exclude-backups.

--exclude-from=file
-X file

Similar to ‘--exclude’, except tar will use the list of patterns in the file file. See section Excluding Some Files.

--exclude-caches

Exclude from dump any directory containing a valid cache directory tag file, but still dump the directory node and the tag file itself.

See section exclude-caches.

--exclude-caches-under

Exclude from dump any directory containing a valid cache directory tag file, but still dump the directory node itself.

See section Excluding Some Files.

--exclude-caches-all

Exclude from dump any directory containing a valid cache directory tag file. See section Excluding Some Files.

--exclude-tag=file

Exclude from dump any directory containing file named file, but dump the directory node and file itself. See section exclude-tag.

--exclude-tag-under=file

Exclude from dump the contents of any directory containing file named file, but dump the directory node itself. See section exclude-tag-under.

--exclude-tag-all=file

Exclude from dump any directory containing file named file. See section exclude-tag-all.

--exclude-vcs

Exclude from dump directories and files, that are internal for some widely used version control systems.

See section exclude-vcs.

--file=archive
-f archive

tar will use the file archive as the tar archive it performs operations on, rather than tar's compilation dependent default. See section The ‘--file’ Option.

--files-from=file
-T file

tar will use the contents of file as a list of archive members or files to operate on, in addition to those specified on the command-line. See section Reading Names from a File.

--force-local

Forces tar to interpret the file name given to ‘--file’ as a local file, even if it looks like a remote tape drive name. See local and remote archives.

--format=format
-H format

Selects output archive format. Format may be one of the following:

v7

Creates an archive that is compatible with Unix V7 tar.

oldgnu

Creates an archive that is compatible with GNU tar version 1.12 or earlier.

gnu

Creates archive in GNU tar 1.13 format. Basically it is the same as ‘oldgnu’ with the only difference in the way it handles long numeric fields.

ustar

Creates a POSIX.1-1988 compatible archive.

posix

Creates a POSIX.1-2001 archive.

See section Controlling the Archive Format, for a detailed discussion of these formats.

--full-time

This option instructs tar to print file times to their full resolution. Usually this means 1-second resolution, but that depends on the underlying file system. The ‘--full-time’ option takes effect only when detailed output (verbosity level 2 or higher) has been requested using the ‘--verbose’ option, e.g., when listing or extracting archives:

 
$ tar -t -v --full-time -f archive.tar

or, when creating an archive:

 
$ tar -c -vv --full-time -f archive.tar .

Notice, thar when creating the archive you need to specify ‘--verbose’ twice to get a detailed output (see section The ‘--verbose’ Option).

--group=group

Files added to the tar archive will have a group ID of group, rather than the group from the source file. group is first decoded as a group symbolic name, but if this interpretation fails, it has to be a decimal numeric group ID. See section Overriding File Metadata.

Also see the comments for the ‘--owner=user’ option.

--gzip
--gunzip
--ungzip
-z

This option tells tar to read or write archives through gzip, allowing tar to directly operate on several kinds of compressed archives transparently. See section Creating and Reading Compressed Archives.

--hard-dereference

When creating an archive, dereference hard links and store the files they refer to, instead of creating usual hard link members.

See section Hard Links.

--help
-?

tar will print out a short message summarizing the operations and options to tar and exit. See section GNU tar documentation.

--ignore-case

Ignore case when matching member or file names with patterns. See section Controlling Pattern-Matching.

--ignore-command-error

Ignore exit codes of subprocesses. See section Writing to an External Program.

--ignore-failed-read

Do not exit unsuccessfully merely because an unreadable file was encountered. See section Options to Help Read Archives.

--ignore-zeros
-i

With this option, tar will ignore zeroed blocks in the archive, which normally signals EOF. See section Options to Help Read Archives.

--incremental
-G

Informs tar that it is working with an old GNU-format incremental backup archive. It is intended primarily for backwards compatibility only. See section Using tar to Perform Incremental Dumps, for a detailed discussion of incremental archives.

--index-file=file

Send verbose output to file instead of to standard output.

--info-script=script-file
--new-volume-script=script-file
-F script-file

When tar is performing multi-tape backups, script-file is run at the end of each tape. If script-file exits with nonzero status, tar fails immediately. See info-script, for a detailed discussion of script-file.

--interactive
--confirmation
-w

Specifies that tar should ask the user for confirmation before performing potentially destructive options, such as overwriting files. See section Asking for Confirmation During Operations.

--keep-newer-files

Do not replace existing files that are newer than their archive copies when extracting files from an archive.

--keep-old-files
-k

Do not overwrite existing files when extracting files from an archive. See section Keep Old Files.

--label=name
-V name

When creating an archive, instructs tar to write name as a name record in the archive. When extracting or listing archives, tar will only operate on archives that have a label matching the pattern specified in name. See section Tape Files.

--level=n

Force incremental backup of level n. As of GNU tar version 1.26, the option ‘--level=0’ truncates the snapshot file, thereby forcing the level 0 dump. Other values of n are effectively ignored. See –level=0, for details and examples.

The use of this option is valid only in conjunction with the ‘--listed-incremental’ option. See section Using tar to Perform Incremental Dumps, for a detailed description.

--listed-incremental=snapshot-file
-g snapshot-file

During a ‘--create’ operation, specifies that the archive that tar creates is a new GNU-format incremental backup, using snapshot-file to determine which files to backup. With other operations, informs tar that the archive is in incremental format. See section Using tar to Perform Incremental Dumps.

--lzip

This option tells tar to read or write archives through lzip. See section Creating and Reading Compressed Archives.

--lzma

This option tells tar to read or write archives through lzma. See section Creating and Reading Compressed Archives.

--lzop

This option tells tar to read or write archives through lzop. See section Creating and Reading Compressed Archives.

--mode=permissions

When adding files to an archive, tar will use permissions for the archive members, rather than the permissions from the files. permissions can be specified either as an octal number or as symbolic permissions, like with chmod. See section Overriding File Metadata.

--mtime=date

When adding files to an archive, tar will use date as the modification time of members when creating archives, instead of their actual modification times. The value of date can be either a textual date representation (see section Date input formats) or a name of the existing file, starting with ‘/’ or ‘.’. In the latter case, the modification time of that file is used. See section Overriding File Metadata.

--multi-volume
-M

Informs tar that it should create or otherwise operate on a multi-volume tar archive. See section Using Multiple Tapes.

--new-volume-script

(see ‘--info-script’)

--newer=date
--after-date=date
-N

When creating an archive, tar will only add files that have changed since date. If date begins with ‘/’ or ‘.’, it is taken to be the name of a file whose data modification time specifies the date. See section Operating Only on New Files.

--newer-mtime=date

Like ‘--newer’, but add only files whose contents have changed (as opposed to just ‘--newer’, which will also back up files for which any status information has changed). See section Operating Only on New Files.

--no-anchored

An exclude pattern can match any subsequence of the name's components. See section Controlling Pattern-Matching.

--no-auto-compress

Disables automatic compressed format recognition based on the archive suffix. See –auto-compress. See section Creating and Reading Compressed Archives.

--no-check-device

Do not check device numbers when creating a list of modified files for incremental archiving. See device numbers, for a detailed description.

--no-delay-directory-restore

Modification times and permissions of extracted directories are set when all files from this directory have been extracted. This is the default. See section Directory Modification Times and Permissions.

--no-ignore-case

Use case-sensitive matching. See section Controlling Pattern-Matching.

--no-ignore-command-error

Print warnings about subprocesses that terminated with a nonzero exit code. See section Writing to an External Program.

--no-null

If the ‘--null’ option was given previously, this option cancels its effect, so that any following ‘--files-from’ options will expect their file lists to be newline-terminated.

--no-overwrite-dir

Preserve metadata of existing directories when extracting files from an archive. See section Overwrite Old Files.

--no-quote-chars=string

Remove characters listed in string from the list of quoted characters set by the previous ‘--quote-chars’ option (see section Quoting Member Names).

--no-recursion

With this option, tar will not recurse into directories. See section Descending into Directories.

--no-same-owner
-o

When extracting an archive, do not attempt to preserve the owner specified in the tar archive. This the default behavior for ordinary users.

--no-same-permissions

When extracting an archive, subtract the user's umask from files from the permissions specified in the archive. This is the default behavior for ordinary users.

--no-seek

The archive media does not support seeks to arbitrary locations. Usually tar determines automatically whether the archive can be seeked or not. Use this option to disable this mechanism.

--no-unquote

Treat all input file or member names literally, do not interpret escape sequences. See input name quoting.

--no-wildcards

Do not use wildcards. See section Controlling Pattern-Matching.

--no-wildcards-match-slash

Wildcards do not match ‘/’. See section Controlling Pattern-Matching.

--null

When tar is using the ‘--files-from’ option, this option instructs tar to expect file names terminated with NUL, so tar can correctly work with file names that contain newlines. See section NUL-Terminated File Names.

--numeric-owner

This option will notify tar that it should use numeric user and group IDs when creating a tar file, rather than names. See section Handling File Attributes.

-o

The function of this option depends on the action tar is performing. When extracting files, ‘-o’ is a synonym for ‘--no-same-owner’, i.e., it prevents tar from restoring ownership of files being extracted.

When creating an archive, it is a synonym for ‘--old-archive’. This behavior is for compatibility with previous versions of GNU tar, and will be removed in future releases.

See section Changes, for more information.

--occurrence[=number]

This option can be used in conjunction with one of the subcommands ‘--delete’, ‘--diff’, ‘--extract’ or ‘--list’ when a list of files is given either on the command line or via ‘-T’ option.

This option instructs tar to process only the numberth occurrence of each named file. Number defaults to 1, so

 
tar -x -f archive.tar --occurrence filename

will extract the first occurrence of the member ‘filename’ from ‘archive.tar’ and will terminate without scanning to the end of the archive.

--old-archive

Synonym for ‘--format=v7’.

--one-file-system

Used when creating an archive. Prevents tar from recursing into directories that are on different file systems from the current directory.

--overwrite

Overwrite existing files and directory metadata when extracting files from an archive. See section Overwrite Old Files.

--overwrite-dir

Overwrite the metadata of existing directories when extracting files from an archive. See section Overwrite Old Files.

--owner=user

Specifies that tar should use user as the owner of members when creating archives, instead of the user associated with the source file. user is first decoded as a user symbolic name, but if this interpretation fails, it has to be a decimal numeric user ID. See section Overriding File Metadata.

This option does not affect extraction from archives.

--pax-option=keyword-list

This option enables creation of the archive in POSIX.1-2001 format (see section GNU tar and POSIX tar) and modifies the way tar handles the extended header keywords. Keyword-list is a comma-separated list of keyword options. See section Controlling Extended Header Keywords, for a detailed discussion.

--portability
--old-archive

Synonym for ‘--format=v7’.

--posix

Same as ‘--format=posix’.

--preserve

Synonymous with specifying both ‘--preserve-permissions’ and ‘--same-order’. See section Setting Access Permissions.

--preserve-order

(See ‘--same-order’; see section Options to Help Read Archives.)

--preserve-permissions
--same-permissions
-p

When tar is extracting an archive, it normally subtracts the users' umask from the permissions specified in the archive and uses that number as the permissions to create the destination file. Specifying this option instructs tar that it should use the permissions directly from the archive. See section Setting Access Permissions.

--quote-chars=string

Always quote characters from string, even if the selected quoting style would not quote them (see section Quoting Member Names).

--quoting-style=style

Set quoting style to use when printing member and file names (see section Quoting Member Names). Valid style values are: literal, shell, shell-always, c, escape, locale, and clocale. Default quoting style is escape, unless overridden while configuring the package.

--read-full-records
-B

Specifies that tar should reblock its input, for reading from pipes on systems with buggy implementations. See section Options to Help Read Archives.

--record-size=size[suf]

Instructs tar to use size bytes per record when accessing the archive. The argument can be suffixed with a size suffix, e.g. ‘--record-size=10K’ for 10 Kilobytes. See size-suffixes, for a list of valid suffixes. See section The Blocking Factor of an Archive, for a detailed description of this option.

--recursion

With this option, tar recurses into directories (default). See section Descending into Directories.

--recursive-unlink

Remove existing directory hierarchies before extracting directories of the same name from the archive. See section Recursive Unlink.

--remove-files

Directs tar to remove the source file from the file system after appending it to an archive. See section Removing Files.

--restrict

Disable use of some potentially harmful tar options. Currently this option disables shell invocation from multi-volume menu (see section Using Multiple Tapes).

--rmt-command=cmd

Notifies tar that it should use cmd instead of the default ‘/usr/libexec/rmt’ (see section Remote Tape Server).

--rsh-command=cmd

Notifies tar that is should use cmd to communicate with remote devices. See section Device Selection and Switching.

--same-order
--preserve-order
-s

This option is an optimization for tar when running on machines with small amounts of memory. It informs tar that the list of file arguments has already been sorted to match the order of files in the archive. See section Options to Help Read Archives.

--same-owner

When extracting an archive, tar will attempt to preserve the owner specified in the tar archive with this option present. This is the default behavior for the superuser; this option has an effect only for ordinary users. See section Handling File Attributes.

--same-permissions

(See ‘--preserve-permissions’; see section Setting Access Permissions.)

--seek
-n

Assume that the archive media supports seeks to arbitrary locations. Usually tar determines automatically whether the archive can be seeked or not. This option is intended for use in cases when such recognition fails. It takes effect only if the archive is open for reading (e.g. with ‘--list’ or ‘--extract’ options).

--show-defaults

Displays the default options used by tar and exits successfully. This option is intended for use in shell scripts. Here is an example of what you can see using this option:

 
$ tar --show-defaults
--format=gnu -f- -b20 --quoting-style=escape
--rmt-command=/usr/libexec/rmt --rsh-command=/usr/bin/rsh

Notice, that this option outputs only one line. The example output above has been split to fit page boundaries.

--show-omitted-dirs

Instructs tar to mention the directories it is skipping when operating on a tar archive. See show-omitted-dirs.

--show-transformed-names
--show-stored-names

Display file or member names after applying any transformations (see section Modifying File and Member Names). In particular, when used in conjunction with one of the archive creation operations it instructs tar to list the member names stored in the archive, as opposed to the actual file names. See listing member and file names.

--sparse
-S

Invokes a GNU extension when adding files to an archive that handles sparse files efficiently. See section Archiving Sparse Files.

--sparse-version=version

Specifies the format version to use when archiving sparse files. Implies ‘--sparse’. See section Archiving Sparse Files. For the description of the supported sparse formats, See section Storing Sparse Files.

--starting-file=name
-K name

This option affects extraction only; tar will skip extracting files in the archive until it finds one that matches name. See section Coping with Scarce Resources.

--strip-components=number

Strip given number of leading components from file names before extraction. For example, if archive ‘archive.tar’ contained ‘/some/file/name’, then running

 
tar --extract --file archive.tar --strip-components=2

would extract this file to file ‘name’.

--suffix=suffix

Alters the suffix tar uses when backing up files from the default ‘~’. See section Backup options.

--tape-length=num[suf]
-L num[suf]

Specifies the length of tapes that tar is writing as being num x 1024 bytes long. If optional suf is given, it specifies a multiplicative factor to be used instead of 1024. For example, ‘-L2M’ means 2 megabytes. See size-suffixes, for a list of allowed suffixes. See section Using Multiple Tapes, for a detailed discussion of this option.

--test-label

Reads the volume label. If an argument is specified, test whether it matches the volume label. See –test-label option.

--to-command=command

During extraction tar will pipe extracted files to the standard input of command. See section Writing to an External Program.

--to-stdout
-O

During extraction, tar will extract files to stdout rather than to the file system. See section Writing to Standard Output.

--totals[=signo]

Displays the total number of bytes transferred when processing an archive. If an argument is given, these data are displayed on request, when signal signo is delivered to tar. See totals.

--touch
-m

Sets the data modification time of extracted files to the extraction time, rather than the data modification time stored in the archive. See section Setting Data Modification Times.

--transform=sed-expr
--xform=sed-expr

Transform file or member names using sed replacement expression sed-expr. For example,

 
$ tar cf archive.tar --transform 's,^\./,usr/,' .

will add to ‘archive’ files from the current working directory, replacing initial ‘./’ prefix with ‘usr/’. For the detailed discussion, See section Modifying File and Member Names.

To see transformed member names in verbose listings, use ‘--show-transformed-names’ option (see show-transformed-names).

--uncompress

(See ‘--compress’, see section Creating and Reading Compressed Archives)

--ungzip

(See ‘--gzip’, see section Creating and Reading Compressed Archives)

--unlink-first
-U

Directs tar to remove the corresponding file from the file system before extracting it from the archive. See section Unlink First.

--unquote

Enable unquoting input file or member names (default). See input name quoting.

--use-compress-program=prog
-I=prog

Instructs tar to access the archive through prog, which is presumed to be a compression program of some sort. See section Creating and Reading Compressed Archives.

--utc

Display file modification dates in UTC. This option implies ‘--verbose’.

--verbose
-v

Specifies that tar should be more verbose about the operations it is performing. This option can be specified multiple times for some operations to increase the amount of information displayed. See section Checking tar progress.

--verify
-W

Verifies that the archive was correctly written when creating an archive. See section Verifying Data as It is Stored.

--version

Print information about the program's name, version, origin and legal status, all on standard output, and then exit successfully. See section GNU tar documentation.

--volno-file=file

Used in conjunction with ‘--multi-volume’. tar will keep track of which volume of a multi-volume archive it is working in file. See volno-file.

--warning=keyword

Enable or disable warning messages identified by keyword. The messages are suppressed if keyword is prefixed with ‘no-’. See section Controlling Warning Messages.

--wildcards

Use wildcards when matching member names with patterns. See section Controlling Pattern-Matching.

--wildcards-match-slash

Wildcards match ‘/’. See section Controlling Pattern-Matching.

--xz
-J

Use xz for compressing or decompressing the archives. See section Creating and Reading Compressed Archives.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated by Sergey Poznyakoff on March, 12 2011 using texi2html 1.78.