tar - The GNU version of the tar archiving utility


tar [ - ] A --catenate --concatenate | c --create | d --diff --compare | r --append | t --list | u --update | x -extract --get [ --atime-preserve ] [ -b, --block-size N ] [ -B, --read-full-blocks ] [ -C, --directory DIR ] [ --checkpoint ] [ -f, --file [HOSTNAME:]F ] [ --force-local ] [ -F, --info-script F --new-volume-script F ] [ -G, --incremental ] [ -g, --listed-incremental F ] [ -h, --dereference ] [ -i, --ignore-zeros ] [ --ignore-failed-read ] [ -k, --keep-old-files ] [ -K, --starting-file F ] [ -l, --one-file-system ] [ -L, --tape-length N ] [ -m, --modification-time ] [ -M, --multi-volume ] [ -N, --after-date DATE, --newer DATE ] [ -o, --old-archive, --portability ] [ -O, --to-stdout ] [ -p, --same-permissions, --preserve-permissions ] [ -P, --absolute-paths ] [ --preserve ] [ -R, --record-number ] [ --remove-files ] [ -s, --same-order, --preserve-order ] [ --same-owner ] [ -S, --sparse ] [ -T, --files-from F ] [ --null ] [ --totals ] [ -v, --verbose ] [ -V, --label NAME ] [ --version ] [ -w, --interactive, --confirmation ] [ -W, --verify ] [ --exclude FILE ] [ -X, --exclude-from FILE ] [ -Z, --compress, --uncompress ] [ -z, --gzip, --ungzip ] [ --use-compress-program PROG ] [ --block-compress ] [ -[0-7][lmh] ]

filename1 [ filename2, ... filenameN ]

directory1 [ directory2, ...directoryN ]


This manual page documents the GNU version of tar , an archiving program designed to store and extract files from an archive file known as a tarfile. A tarfile may be made on a tape drive, however, it is also common to write a tarfile to a normal file. The first argument to tar must be one of the options: Acdrtux , followed by any optional functions. The final arguments to tar are the names of the files or directories which should be archived. The use of a directory name always implies that the subdirectories below should be included in the archive.


One of the following options must be used:

-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 for use on mag tapes!)

-r, --append
append files to the end of an archive

-t, --list
list the contents of an archive

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

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


don't change access times on dumped files

-b, --block-size N
block size of Nx512 bytes (default N=20)

-B, --read-full-blocks
reblock as we read (for reading 4.2BSD pipes)

-C, --directory DIR
change to directory DIR

print directory names while reading the archive

-f, --file [HOSTNAME:]F
use archive file or device F (default /dev/rmt0)

archive file is local even if has a colon

-F, --info-script F --new-volume-script F
run script at end of each tape (implies -M)

-G, --incremental
create/list/extract old GNU-format incremental backup

-g, --listed-incremental F
create/list/extract new GNU-format incremental backup

-h, --dereference
don't dump symlinks; dump the files they point to

-i, --ignore-zeros
ignore blocks of zeros in archive (normally mean EOF)

don't exit with non-zero status on unreadable files

-k, --keep-old-files
keep existing files; don't overwrite them from archive

-K, --starting-file F
begin at file F in the archive

-l, --one-file-system
stay in local file system when creating an archive

-L, --tape-length N
change tapes after writing N*1024 bytes

-m, --modification-time
don't extract file modified time

-M, --multi-volume
create/list/extract multi-volume archive

-N, --after-date DATE, --newer DATE
only store files newer than DATE

-o, --old-archive, --portability
write a V7 format archive, rather than ANSI format

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

-p, --same-permissions, --preserve-permissions
extract all protection information

-P, --absolute-paths
don't strip leading `/'s from file names

like -p -s

-R, --record-number
show record number within archive with each message

remove files after adding them to the archive

-s, --same-order, --preserve-order
list of names to extract is sorted to match archive

create extracted files with the same ownership

-S, --sparse
handle sparse files efficiently

-T, --files-from F
get names to extract or create from file F

-T reads null-terminated names, disable -C

print total bytes written with --create

-v, --verbose
verbosely list files processed

-V, --label NAME
create archive with volume name NAME

print tar program version number

-w, --interactive, --confirmation
ask for confirmation for every action

-W, --verify
attempt to verify the archive after writing it

--exclude FILE
exclude file FILE

-X, --exclude-from FILE
exclude files listed in FILE

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

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

--use-compress-program PROG
filter the archive through PROG (which must accept -d)

block the output of compression program for tapes

specify drive and density