TAR(1) tar TAR(1)

tar – The GNU version of the tar archiving utility

tar [options]

[-]A –catenate –concatenate
[-]c –create
[-]d –diff –compare
[-]r –append
[-]t –list
[-]u –update
[-]x –extract –get

Common Options:
-C, –directory DIR
-f, –file F
-j, –bzip2
-p, –preserve-permissions
-v, –verbose
-z, –gzip

All Options:
[ –atime-preserve ] [ -b, –blocking-factor N ] [ -B, –read-full-
records ] [ –backup BACKUP-TYPE ] [ –block-compress ] [ -C,
–directory DIR ] [ –check-links ] [ –checkpoint ] [ -f, –file
[HOSTNAME:]F ] [ -F, –info-script F –new-volume-script F ] [
–force-local ] [ –format FORMAT ] [ -g, –listed-incremental F ]
[ -G, –incremental ] [ –group GROUP ] [ -h, –dereference ] [
–help ] [ -i, –ignore-zeros ] [ –ignore-case ] [ –ignore-failed-
read ] [ –index-file FILE ] [ -j, –bzip2 ] [ -k, –keep-old-files
] [ -K, –starting-file F ] [ –keep-newer-files ] [ -l, –one-file-
system ] [ -L, –tape-length N ] [ -m, –touch, –modification-time
] [ -M, –multi-volume ] [ –mode PERMISSIONS ] [ -N, –after-date
DATE, –newer DATE ] [ –newer-mtime DATE ] [ –no-anchored ] [
–no-ignore-case ] [ –no-recursion ] [ –no-same-permissions ] [
–no-wildcards ] [ –no-wildcards-match-slash ] [ –null ] [
–numeric-owner ] [ -o, –old-archive, –portability, –no-same-
owner ] [ -O, –to-stdout ] [ –occurrence NUM ] [ –overwrite ] [
–overwrite-dir ] [ –owner USER ] [ -p, –same-permissions, –pre-
serve-permissions ] [ -P, –absolute-names ] [ –pax-option KEYWORD-
LIST ] [ –posix ] [ –preserve ] [ –acls ] [ –selinux ] [ –xat-
trs ] [ –no-acls ] [ –no-selinux ] [ –no-xattrs ] [ -R, –block-
number ] [ –record-size SIZE ] [ –recursion ] [ –recursive-unlink
] [ –remove-files ] [ –rmt-command CMD ] [ –rsh-command CMD ] [
-s, –same-order, –preserve-order ] [ -S, –sparse ] [ –same-owner
] [ –show-defaults ] [ –show-omitted-dirs ] [ –strip-components
NUMBER, –strip-path NUMBER (1) ] [ –suffix SUFFIX ] [ -T, –files-
from F ] [ –totals ] [ -U, –unlink-first ] [ –use-compress-pro-
gram PROG ] [ –utc ] [ -v, –verbose ] [ -V, –label NAME ] [
–version ] [ –volno-file F ] [ -w, –interactive, –confirmation
] [ -W, –verify ] [ –wildcards ] [ –wildcards-match-slash ] [
–exclude PATTERN ] [ -X, –exclude-from FILE ] [ -Z, –compress,
–uncompress ] [ -z, –gzip, –gunzip, –ungzip ] [ -[0-7][lmh] ]

(1) tar-1.14 uses –strip-path, tar-1.14.90+ uses –strip-components

This manual page documents the GNU version of tar, an archiving pro-
gram 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.

tar -xvf foo.tar
verbosely extract foo.tar

tar -xzf foo.tar.gz
extract gzipped foo.tar.gz

tar -cjf foo.tar.bz2 bar/
create bzipped tar archive of the directory bar called

tar -xjf foo.tar.bz2 -C bar/
extract bzipped foo.tar.bz2 after changing directory to bar

tar -xzf foo.tar.gz blah.txt
extract the file blah.txt from foo.tar.gz

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

-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 the existing in archive

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

delete from the archive (not for use on mag tapes!)

-C, –directory DIR
change to directory DIR

-f, –file [HOSTNAME:]F
use archive file or device F (default “-“, meaning stdin/std-

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

-p, –preserve-permissions
extract all protection information

-v, –verbose
verbosely list files processed

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

don’t change access times on dumped files

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

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

backup files instead of deleting them using BACKUP-TYPE sim-
ple or numbered

block the output of compression program for tapes

-C, –directory DIR
change to directory DIR

warn if number of hard links to the file on the filesystem
mismatch the number of links recorded in the archive

print directory names while reading the archive

-f, –file [HOSTNAME:]F
use archive file or device F (default “-“, meaning stdin/std-

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

archive file is local even if has a colon

–format FORMAT
selects output archive format
v7 – Unix V7
oldgnu – GNU tar < =1.12 gnu - GNU tar 1.13 ustar - POSIX.1-1988 posix - POSIX.1-2001 -g, --listed-incremental F create/list/extract new GNU-format incremental backup -G, --incremental create/list/extract old GNU-format incremental backup -h, --dereference don't dump symlinks; dump the files they point to --help like this manpage, but not as cool -i, --ignore-zeros ignore blocks of zeros in archive (normally mean EOF) --ignore-case ignore case when excluding files --ignore-failed-read don't exit with non-zero status on unreadable files --index-file FILE send verbose output to FILE instead of stdout -j, --bzip2 filter archive through bzip2, use to decompress .bz2 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 --keep-newer-files do not overwrite files which are newer than 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, --touch, --modification-time don't extract file modified time -M, --multi-volume create/list/extract multi-volume archive --mode PERMISSIONS apply PERMISSIONS while adding files (see chmod(1)) -N, --after-date DATE, --newer DATE only store files newer than DATE --newer-mtime DATE like --newer, but with a DATE --no-anchored match any subsequenceof the name's components with --exclude --no-ignore-case use case-sensitive matching with --exclude --no-recursion don't recurse into directories --no-same-permissions apply user's umask when extracting files instead of recorded permissions --no-wildcards don't use wildcards with --exclude --no-wildcards-match-slash wildcards do not match slashes (/) with --exclude --null --files-from reads null-terminated names, disable --directory --numeric-owner always use numbers for user/group names -o, --old-archive, --portability like --format=v7; -o exhibits this behavior when creating an archive (deprecated behavior) -o, --no-same-owner do not attempt to restore ownership when extracting; -o exhibits this behavior when extracting an archive -O, --to-stdout extract files to standard output --occurrence NUM process only NUM occurrences of each named file; used with --delete, --diff, --extract, or --list --overwrite overwrite existing files and directory metadata when extract- ing --overwrite-dir overwrite directory metadata when extracting --owner USER change owner of extraced files to USER -p, --same-permissions, --preserve-permissions extract all protection information -P, --absolute-names don't strip leading `/'s from file names --pax-option KEYWORD-LIST used only with POSIX.1-2001 archives to modify the way tar handles extended header keywords --posix like --format=posix --preserve like --preserve-permissions --same-order --acls this option causes tar to store each file's ACLs in the archive. --selinux this option causes tar to store each file's SELinux security context information in the archive. --xattrs this option causes tar to store each file's extended attributes in the archive. This option also enables --acls and--selinux if they haven't been set already, due to the fact that the data for those are stored in special xattrs. --no-acls This option causes tar not to store each file's ACLs in the archive and not to extract any ACL information in an archive. --no-selinux this option causes tar not to store each file's SELinux secu- rity context information in the archive and not to extract any SELinux information in an archive. --no-xattrs this option causes tar not to store each file's extended attributes in the archive and not to extract any extended attributes in an archive. This option also enables --no-acls and --no-selinux if they haven't been set already. -R, --record-number show record number within archive with each message --record-size SIZE use SIZE bytes per record when accessing archives --recursion recurse into directories --recursive-unlink remove existing directories before extracting directories of the same name --remove-files remove files after adding them to the archive --rmt-command CMD use CMD instead of the default /usr/sbin/rmt --rsh-command CMD use remote CMD instead of rsh(1) -s, --same-order, --preserve-order list of names to extract is sorted to match archive -S, --sparse handle sparse files efficiently --same-owner create extracted files with the same ownership --show-defaults display the default options used by tar --show-omitted-dirs print directories tar skips while operating on an archive --strip-components NUMBER, --strip-path NUMBER strip NUMBER of leading components from file names before extraction (1) tar-1.14 uses --strip-path, tar-1.14.90+ uses --strip- components --suffix SUFFIX use SUFFIX instead of default '~' when backing up files -T, --files-from F get names to extract or create from file F --totals print total bytes written with --create -U, --unlink-first remove existing files before extracting files of the same name --use-compress-program PROG access the archive through PROG which is generally a compres- sion program --utc display file modification dates in UTC -v, --verbose verbosely list files processed -V, --label NAME create archive with volume name NAME --version print tar program version number --volno-file F keep track of which volume of a multi-volume archive its working in FILE; used with --multi-volume -w, --interactive, --confirmation ask for confirmation for every action -W, --verify attempt to verify the archive after writing it --wildcards use wildcards with --exclude --wildcards-match-slash wildcards match slashes (/) with --exclude --exclude PATTERN exclude files based upon PATTERN -X, --exclude-from FILE exclude files listed in FILE -Z, --compress, --uncompress filter the archive through compress -z, --gzip, --gunzip, --ungzip filter the archive through gzip --use-compress-program PROG filter the archive through PROG (which must accept -d) -[0-7][lmh] specify drive and density BUGS The GNU folks, in general, abhor man pages, and create info docu- ments instead. The maintainer of tar falls into this category. Thus this man page may not be complete, nor current, and was included in the Red Hat CVS tree because man is a great tool :). This man page was first taken from Debian Linux and has since been loving updated here. REPORTING BUGS Please report bugs via https://bugzilla.redhat.com 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. AUTHORS Debian Linux http://www.debian.org/ Mike Frysinger

GNU Oct 2004 TAR(1)