TAR(1) User Commands TAR(1)

tar – The GNU version of the tar archiving utility

tar [OPTION…] [FILE]…

GNU `tar’ saves many files together into a single tape or disk archive,
and can restore individual files from the archive.

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.

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 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 the archive volume label and exit

-u, –update
only append files newer than copy in archive

-x, –extract, –get
extract files from an archive

Operation modifiers:

check device numbers when creating incremental archives

-g, –listed-incremental=FILE
handle new GNU-format incremental backup

-G, –incremental
handle old GNU-format incremental backup

do not exit with nonzero on unreadable files

-n, –seek
archive is seekable

do not check device numbers when creating incremental archives

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

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

don’t replace existing files that are newer than their archive

preserve metadata of existing directories

overwrite existing files when extracting

overwrite metadata of existing directories when extracting

empty hierarchies prior to extracting directory

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

treat non-zero exit codes of children as error

-O, –to-stdout
extract files to standard output

pipe extracted files to another program

Handling of file attributes:

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 setting modification times and permissions of extracted
directories until the end of extraction

force NAME as group for added files

force (symbolic) mode CHANGES for added files

set mtime for added files from DATE-OR-FILE

-m, –touch
don’t extract file modified time

cancel the effect of –delay-directory-restore option

extract files as yourself

apply the user’s umask when extracting permissions from the
archive (default for ordinary users)

always use numbers for user/group names

force NAME as owner for added files

-p, –preserve-permissions, –same-permissions
extract information about file permissions (default for supe-

same as both -p and -s

try extracting files with the same ownership

-s, –preserve-order, –same-order
sort names to extract to match archive

Device selection and switching:

-f, –file=ARCHIVE
use archive file or device ARCHIVE

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

use given rmt COMMAND instead of rmt

use remote COMMAND instead of rsh

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)

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

control pax keywords

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

-j, –bzip2
filter the archive through bzip2

–lzma filter the archive through lzma

filter through PROG (must accept -d)

-z, –gzip, –gunzip, –ungzip
filter the archive through gzip

-Z, –compress, –uncompress
filter the archive through compress

Local file selection:

add given FILE to the archive (useful if its name starts with a

backup before removal, choose version CONTROL

-C, –directory=DIR
change to directory DIR

exclude files, given as a PATTERN

exclude contents of directories containing CACHEDIR.TAG, except
for the tag file itself

exclude directories containing CACHEDIR.TAG

–exclude-caches-under exclude everything under directories containing

exclude contents of directories containing FILE, except for FILE

–exclude-tag-all=FILE exclude directories containing FILE

exclude everything under directories containing FILE

exclude version control system directories

-h, –dereference
follow symlinks; archive and dump the files they point to

follow hard links; archive and dump the files they refer to

-K, –starting-file=MEMBER-NAME
begin at member MEMBER-NAME in the archive

compare date and time when data changed only

avoid descending automatically in directories

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

stay in local file system when creating archive

-P, –absolute-names
don’t strip leading `/’s from file names

recurse into directories (default)

backup before removal, override usual suffix (‘~’ unless over-
ridden by environment variable SIMPLE_BACKUP_SUFFIX)

-T, –files-from=FILE
get names to extract or create from FILE

unquote filenames read with -T (default)

-X, –exclude-from=FILE
exclude patterns listed in FILE

File name transformations:

strip NUMBER leading components from file names on extraction

–transform=EXPRESSION use sed replace EXPRESSION to transform file

File name matching options (affect both exclude and include pat-

patterns match file name start

ignore case

patterns match after any `/’ (default for exclusion)

case sensitive matching (default)

verbatim string matching

wildcards do not match `/’

use wildcards (default for exclusion)

wildcards match `/’ (default for exclusion)

Informative output:

display progress messages every NUMBERth record (default 10)

execute ACTION on each checkpoint

send verbose output to FILE

-l, –check-links
print a message if not all links are dumped

disable quoting for characters from STRING

additionally quote characters from STRING

set name quoting style; see below for valid STYLE values

-R, –block-number
show block number within archive with each message

show tar defaults

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

print total bytes after processing the archive; with an argument
– print total bytes when this SIGNAL is delivered; Allowed sig-
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

Other options:

-?, –help
give this help list

disable use of some potentially harmful options

give a short usage message

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 SIM-
PLE_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

*This* tar defaults to: –format=gnu -f- -b20 –quoting-style=escape
–rmt-command=/usr/libexec/rmt –rsh-command=/usr/bin/rsh

Written by John Gilmore and Jay Fenlason.

Report bugs to <bug-tar@gnu.org>.

Copyright © 2008 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.

The full documentation for tar is maintained as a Texinfo manual. If
the info and tar programs are properly installed at your site, the com-

info tar

should give you access to the complete manual.

tar 1.20 December 2008 TAR(1)

Related Posts

Technorati Tags: ,

Leave a Comment

NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>