TAR(1)

NAME
tar - The GNU version of the tar archiving utility

SYNOPSIS
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 ] [ -j, --bzip2 ] [ --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-names ] [ --preserve ] [ -R, --record-number ] [ --remove-files ] [ -s, --same-order, --preserve-order ] [ --same-owner ] [ --numeric-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 ] [ --rsh-command=CMD ] [ -[0-7][lmh] ]

filename1 [ filename2, ... filenameN ]

directory1 [ directory2, ...directoryN ]

DESCRIPTION

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.

EXAMPLES

tar -xvvf foo.tar
    extract foo.tar

tar -xvvzf foo.tar.gz
    extract gzipped foo.tar.gz

tar -cvvf foo.tar foo/
    tar contents of folder foo in foo.tar

FUNCTION LETTERS

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

OTHER OPTIONS

--atime-preserve
    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

--checkpoint
    print directory names while reading the archive

-f, --file [HOSTNAME:]F
    use archive file or device F (default "-", meaning stdin/stdout)

--force-local
    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)

-j, --bzip2
    filter archive through bzip2, use to decompress .bz2 files

--ignore-failed-read
    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

--preserve
    like -p -s

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

--remove-files
    remove files after adding them to the archive

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

--same-owner
    create extracted files with the same ownership

--numeric-owner
    always use numbers for user/group names

-S, --sparse
    handle sparse files efficiently

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

--null
    -T reads null-terminated names, disable -C

--totals
    print total bytes written with --create

-v, --verbose
    verbosely list files processed

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

--version
    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-compress
    block the output of compression program for tapes

--rsh-command=CMD
    Use remote COMMAND instead of `rsh'. This option exists so that people who use something other than the standard `rsh' (e.g., a Kerberized `rsh') can access a remote device.

-[0-7][lmh]
    specify drive and density

BUGS

The GNU folks, in general, abhor man pages, and create info documents instead. The maintainer of tar falls into this category. This man page is neither complete, nor current, and was included in the Debian Linux packaging of tar entirely to reduce the frequency with which the lack of a man page gets reported as a bug in our defect tracking system. If you really want to understand tar, then you should run info and read the tar info pages, or use the info mode in emacs.