TAR
Section: User Commands (1)
Updated: November 2009
Index
Return to Main Contents
NAME
tar - manual page for tar 1.22
SYNOPSIS
tar
[OPTION...] [FILE]...
DESCRIPTION
GNU `tar' saves many files together into a single tape or disk archive, and can
restore individual files from the archive.
EXAMPLES
- tar -cf archive.tar foo bar
-
# Create archive.tar from files foo and bar.
- tar -tvf archive.tar
-
# List all files in archive.tar verbosely.
- tar -xf archive.tar
-
# Extract all files from archive.tar.
-
OPTIONS
Main operation mode:
- -A, --catenate, --concatenate
-
append tar files to an archive
- -c, --create
-
create a new archive
- -d, --diff, --compare
-
find differences between archive and file system
- --delete
-
delete from the archive (not on mag tapes!)
- -r, --append
-
append files to the end of an archive
- -t, --list
-
list the contents of an archive
- --test-label
-
test the archive volume label and exit
- -u, --update
-
only append files newer than copy in archive
- -x, --extract, --get
-
extract files from an archive
-
Common Options:
- -C, --directory=DIR
-
change to directory DIR
- -f, --file=ARCHIVE
-
use archive file or device ARCHIVE
- -j, --bzip2
-
filter the archive through bzip2
- -J, --xz
-
filter the archive through xz
- -p, --preserve-permissions
-
extract information about file permissions (default for superuser)
- -v, --verbose
-
verbosely list files processed
- -z, --gzip
-
filter the archive through gzip
Operation modifiers:
- --check-device
-
check device numbers when creating incremental
archives (default)
- -g, --listed-incremental=FILE
-
handle new GNU-format incremental backup
- -G, --incremental
-
handle old GNU-format incremental backup
- --ignore-failed-read
-
do not exit with nonzero on unreadable files
- -n, --seek
-
archive is seekable
- --no-check-device
-
do not check device numbers when creating
incremental archives
- --occurrence[=NUMBER]
-
process only the NUMBERth occurrence of each file
in the archive; this option is valid only in
conjunction with one of the subcommands --delete,
--diff, --extract or --list and when a list of
files is given either on the command line or via
the -T option; NUMBER defaults to 1
- --sparse-version=MAJOR[.MINOR]
-
set version of the sparse format to use (implies
--sparse)
- -S, --sparse
-
handle sparse files efficiently
-
Overwrite control:
- -k, --keep-old-files
-
don't replace existing files when extracting
- --keep-newer-files
-
don't replace existing files that are newer than
their archive copies
- --no-overwrite-dir
-
preserve metadata of existing directories
- --overwrite
-
overwrite existing files when extracting
- --overwrite-dir
-
overwrite metadata of existing directories when
extracting (default)
- --recursive-unlink
-
empty hierarchies prior to extracting directory
- --remove-files
-
remove files after adding them to the archive
- -U, --unlink-first
-
remove each file prior to extracting over it
- -W, --verify
-
attempt to verify the archive after writing it
-
Select output stream:
-
--ignore-command-error ignore exit codes of children
- --no-ignore-command-error
-
- treat non-zero exit codes of children as
error
- -O, --to-stdout
-
extract files to standard output
- --to-command=COMMAND
-
pipe extracted files to another program
-
Handling of file attributes:
- --acls
-
Save the ACLs to the archive
- --atime-preserve[=METHOD]
-
preserve access times on dumped files, either
by restoring the times after reading
(METHOD='replace'; default) or by not setting the
times in the first place (METHOD='system')
- --delay-directory-restore
-
delay setting modification times and
permissions of extracted directories until the end
of extraction
- --group=NAME
-
force NAME as group for added files
- --mode=CHANGES
-
force (symbolic) mode CHANGES for added files
- --mtime=DATE-OR-FILE
-
set mtime for added files from DATE-OR-FILE
- -m, --touch
-
don't extract file modified time
- --no-acls
-
Don't extract the ACLs from the archive
- --no-delay-directory-restore
-
cancel the effect of --delay-directory-restore
option
- --no-same-owner
-
extract files as yourself
- --no-same-permissions
-
apply the user's umask when extracting permissions
from the archive (default for ordinary users)
- --no-selinux
-
Don't extract the SELinux context from the archive
- --no-xattrs
-
Don't extract the user/root xattrs from the
archive
- --numeric-owner
-
always use numbers for user/group names
- --owner=NAME
-
force NAME as owner for added files
- -p, --preserve-permissions, --same-permissions
-
extract information about file permissions
(default for superuser)
- --preserve
-
same as both -p and -s
- --same-owner
-
try extracting files with the same ownership
- -s, --preserve-order, --same-order
-
sort names to extract to match archive
- --selinux
-
Save the SELinux context to the archive
- --xattrs
-
Save the user/root xattrs to the archive
-
Device selection and switching:
- -f, --file=ARCHIVE
-
use archive file or device ARCHIVE
- --force-local
-
archive file is local even if it has a colon
- -F, --info-script=NAME, --new-volume-script=NAME
-
run script at end of each tape (implies -M)
- -L, --tape-length=NUMBER
-
change tape after writing NUMBER x 1024 bytes
- -M, --multi-volume
-
create/list/extract multi-volume archive
- --rmt-command=COMMAND
-
use given rmt COMMAND instead of rmt
- --rsh-command=COMMAND
-
use remote COMMAND instead of rsh
- --volno-file=FILE
-
use/update the volume number in FILE
-
Device blocking:
- -b, --blocking-factor=BLOCKS
-
BLOCKS x 512 bytes per record
- -B, --read-full-records
-
reblock as we read (for 4.2BSD pipes)
- -i, --ignore-zeros
-
ignore zeroed blocks in archive (means EOF)
- --record-size=NUMBER
-
NUMBER of bytes per record, multiple of 512
-
Archive format selection:
- -H, --format=FORMAT
-
create archive of the given format
-
FORMAT is one of the following:
- gnu
-
GNU tar 1.13.x format
- oldgnu
-
GNU format as per tar <= 1.12
- pax
-
POSIX 1003.1-2001 (pax) format
- posix
-
same as pax
- ustar
-
POSIX 1003.1-1988 (ustar) format
- v7
-
old V7 tar format
- --old-archive, --portability
-
same as --format=v7
- --pax-option=keyword[[:]=value][,keyword[[:]=value]]...
-
control pax keywords
- --posix
-
same as --format=posix
- -V, --label=TEXT
-
create archive with volume name TEXT; at
list/extract time, use TEXT as a globbing pattern
for volume name
-
Compression options:
- -a, --auto-compress
-
use archive suffix to determine the compression
program
- -I, --use-compress-program=PROG
-
filter through PROG (must accept -d)
- -j, --bzip2
-
filter the archive through bzip2
- --lzma
-
filter the archive through lzma
- --no-auto-compress
-
do not use archive suffix to determine the
compression program
- -z, --gzip, --gunzip, --ungzip
-
filter the archive through gzip
- -Z, --compress, --uncompress
-
filter the archive through compress
- -J, --xz
-
filter the archive through xz
- --lzop
-
filter the archive through lzop
-
Local file selection:
- --add-file=FILE
-
add given FILE to the archive (useful if its name
starts with a dash)
- --backup[=CONTROL]
-
backup before removal, choose version CONTROL
- -C, --directory=DIR
-
change to directory DIR
- --exclude=PATTERN
-
exclude files, given as a PATTERN
- --exclude-caches
-
exclude contents of directories containing
CACHEDIR.TAG, except for the tag file itself
- --exclude-caches-all
-
exclude directories containing CACHEDIR.TAG
- --exclude-caches-under exclude everything under directories containing
-
CACHEDIR.TAG
- --exclude-tag=FILE
-
exclude contents of directories containing FILE,
except for FILE itself
-
--exclude-tag-all=FILE exclude directories containing FILE
- --exclude-tag-under=FILE
-
- exclude everything under directories
containing FILE
- --exclude-vcs
-
exclude version control system directories
- -h, --dereference
-
follow symlinks; archive and dump the files they
point to
- --hard-dereference
-
follow hard links; archive and dump the files they
refer to
- -K, --starting-file=MEMBER-NAME
-
begin at member MEMBER-NAME in the archive
- --newer-mtime=DATE
-
compare date and time when data changed only
- --no-null
-
disable the effect of the previous --null option
- --no-recursion
-
avoid descending automatically in directories
- --no-unquote
-
do not unquote filenames read with -T
-
--null -T reads null-terminated names, disable -C
- -N, --newer=DATE-OR-FILE, --after-date=DATE-OR-FILE
-
- only store files newer than DATE-OR-FILE
- --one-file-system
-
stay in local file system when creating archive
- -P, --absolute-names
-
don't strip leading `/'s from file names
- --recursion
-
recurse into directories (default)
- --suffix=STRING
-
backup before removal, override usual suffix ('~'
unless overridden by environment variable
SIMPLE_BACKUP_SUFFIX)
- -T, --files-from=FILE
-
get names to extract or create from FILE
- --unquote
-
unquote filenames read with -T (default)
- -X, --exclude-from=FILE
-
exclude patterns listed in FILE
-
File name transformations:
- --strip-components=NUMBER
-
strip NUMBER leading components from file
names on extraction
- --transform=EXPRESSION, --xform=EXPRESSION
-
use sed replace EXPRESSION to transform file
names
-
File name matching options (affect both exclude and include patterns):
- --anchored
-
patterns match file name start
- --ignore-case
-
ignore case
- --no-anchored
-
patterns match after any `/' (default for
exclusion)
- --no-ignore-case
-
case sensitive matching (default)
- --no-wildcards
-
verbatim string matching
- --no-wildcards-match-slash
-
wildcards do not match `/'
- --wildcards
-
use wildcards (default)
- --wildcards-match-slash
-
wildcards match `/' (default for exclusion)
-
Informative output:
- --checkpoint[=NUMBER]
-
display progress messages every NUMBERth record
(default 10)
- --checkpoint-action=ACTION
-
execute ACTION on each checkpoint
- --index-file=FILE
-
send verbose output to FILE
- -l, --check-links
-
print a message if not all links are dumped
- --no-quote-chars=STRING
-
disable quoting for characters from STRING
- --quote-chars=STRING
-
additionally quote characters from STRING
- --quoting-style=STYLE
-
set name quoting style; see below for valid STYLE
values
- -R, --block-number
-
show block number within archive with each
message
- --show-defaults
-
show tar defaults
- --show-omitted-dirs
-
when listing or extracting, list each directory
that does not match search criteria
- --show-transformed-names, --show-stored-names
-
show file or archive names after transformation
- --totals[=SIGNAL]
-
print total bytes after processing the archive;
with an argument - print total bytes when this
SIGNAL is delivered; Allowed signals are: SIGHUP,
SIGQUIT, SIGINT, SIGUSR1 and SIGUSR2; the names
without SIG prefix are also accepted
- --utc
-
print file modification dates in UTC
- -v, --verbose
-
verbosely list files processed
- -w, --interactive, --confirmation
-
ask for confirmation for every action
-
Compatibility options:
- -o
-
when creating, same as --old-archive; when
extracting, same as --no-same-owner
-
Other options:
- -?, --help
-
give this help list
- --restrict
-
disable use of some potentially harmful options
- --usage
-
give a short usage message
- --version
-
print program version
Mandatory or optional arguments to long options are also mandatory or optional
for any corresponding short options.
The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.
The version control may be set with --backup or VERSION_CONTROL, values are:
- none, off
-
never make backups
- t, numbered
-
make numbered backups
- nil, existing
-
numbered if numbered backups exist, simple otherwise
- never, simple
-
always make simple backups
Valid arguments for --quoting-style options are:
-
literal
shell
shell-always
c
c-maybe
escape
locale
clocale
DEFAULTS
*This* tar defaults to:
--format=gnu -f- -b20 --quoting-style=escape --rmt-command=/sbin/rmt
--rsh-command=/usr/bin/rsh
AUTHOR
Written by John Gilmore and Jay Fenlason.
REPORTING BUGS
Report bugs to <bug-tar@gnu.org>.
COPYRIGHT
Copyright © 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
SEE ALSO
The full documentation for
tar
is maintained as a Texinfo manual. If the
info
and
tar
programs are properly installed at your site, the command
-
info tar
should give you access to the complete manual.