NAME
tar - tape archiver

SYNOPSIS
tar [ key ] [ name ... ]

DESCRIPTION
Tar saves and restores multiple files on a single file (usually a
magnetic tape, but it can be any file). Tar’s actions are
controlled by the key argument. The key is a string of characters
containing at most one function letter and possibly one or more
function modifiers. Other arguments to tar are file or directory
names specifying which files to dump or restore. In all cases,
appearance of a directory name refers to the files and
(recursively) subdirectories of that directory.

The function portion of the key is specified by one of the
following letters:

r The named files are written on the end of the tape. The c
function implies this. Macintosh files are automatically
transformed into AppleSingle Format.

x The named files are extracted from the tape. If the named
file matches a directory whose contents had been written onto
the tape, this directory is (recursively) extracted. The
owner, modification time, and mode are restored (if possible).
If no file argument is given, the entire content of the tape
is extracted. Note that if multiple entries specifying the
same file are on the tape, the last one overwrites all
earlier. AppleSingle files are automatically transformed into
Macintosh format.

t The names of the specified files are listed each time they
occur on the tape. If no file argument is given, all of the
names on the tape are listed.

u The named files are added to the tape if either they are not
already there or have been modified since last put on the
tape.

c Create a new tape; writing begins on the beginning of the tape
instead of after the last file. This command implies r.

The following characters may be used in addition to the letter
which selects the function desired.

o On output, tar normally places information specifying owner
and modes of directories in the archive. Former versions of
tar, when encountering this information will give error
message of the form
"<name>/: cannot create".
This modifier will suppress the directory information.

p This modifier says to restore files to their original modes,
ignoring the present umask(2). Setuid and sticky information
will also be restored to the super-user.

0, ..., 9
This modifier selects an alternate drive on which the tape is
mounted. The default is drive 0 at 1600 bpi, which is
normally /dev/rmt8.

v Normally tar does its work silently. The v (verbose) option
makes tar print the name of each file it treats preceded by
the function letter. With the t function, the verbose option
gives more information about the tape entries than just their
names.

w Tar prints the action to be taken followed by file name, then
wait for user confirmation. If a word beginning with ‘y’ is
given, the action is done. Any other input means don’t do it.

f Tar uses the next argument as the name of the archive instead
of /dev/rmt?. If the name of the file is ‘-’, tar writes to
standard output or reads from standard input, whichever is
appropriate. Thus, tar can be used as the head or tail of a
filter chain. Tar can also be used to move hierarchies with
the command
cd fromdir; tar cf - . | (cd todir; tar xf -)

b Tar uses the next argument as the blocking factor for tape
records. The default is 20 (the maximum). This option should
only be used with raw magnetic tape archives (See f above).
The block size is determined automatically when reading tapes
(key letters ‘x’ and ‘t’).

s tells tar to strip off any leading slashes from pathnames.

l tells tar to complain if it cannot resolve all of the links
to the files dumped. If this is not specified, no error
messages are printed.

m tells tar not to restore the modification times. The
modification time will be the time of extraction.

h Force tar to follow symbolic links as if they were normal
files or directories. Normally, tar does not follow symbolic
links.

B Forces input and output blocking to 20 blocks per record.
This option was added so that tar can work across a
communications channel where the blocking may not be
maintained.

C If a file name is preceded by -C, then tar will perform a
chdir(2) to that file name. This allows multiple directories
not related by a close common parent to be archived using
short relative path names. For example, to archive files
from /usr/include and from /etc, one might use
tar c -C /usr include -C / etc

F[F] One F causes tar to ignore SCCS and RCS directories, and
files named core or errs. An additional F specifies that tar
should also ignore files named a.out and files ending in
".o".

S causes tar to use the next argument as a prefix to be
stripped off the named files. When used to write to a tape,
the files will be stored under their shortened filenames.
When used to extract from a tape, the files will be stored
under their shortened filenames (subdirectories will be
created, if necessary).

k causes tar to strip all characters off the long filename
except for those after the final ’/’; this option is a
special case of the s option.

When the r flag is used, it is possible to name files which will
not be included in the resulting tape. This is done by preceding
the name with the -e flag. For example,

tar cr0v -e ./foo .

will create a tape containing all the files in the current
directory except the file named foo. Note that the -e flag (and the
file or directory to be excluded) must precede the name of the
directory containing this file (or subdirectory).

Previous restrictions dealing with tar’s inability to properly
handle blocked archives have been lifted.

FILES
/dev/rmt?
/tmp/tar*

SEE ALSO
tar(5)

DIAGNOSTICS
Complaints about bad key characters and tape read/write errors.
Complaints if enough memory is not available to hold the link
tables.

BUGS
There is no way to ask for the n-th occurrence of a file.
Tape errors are handled ungracefully.
The u option can be slow.
The current limit on file name length is 100 characters.
There is no way selectively to follow symbolic links.
When extracting tapes created with the r or u options, directory
modification times may not be set correctly.