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.