tar(1) tar(1)
NAME
tar - tape file archiver
SYNOPSIS
tar [key] [files]
DESCRIPTION
tar saves and restores files on magnetic tape or floppy
disks. Its 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 the command are files (or directory
names) specifying which files are to be dumped or restored.
In all cases, appearance of a directory name refers to the
files and (recursively) subdirectories of that directory.
tar does not follow symbolic links.
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.
This may not work on all media. It requires the
ability to ``seek.'' The c function implies this
function.
x The named files are extracted from the tape. If a
named file matches a directory whose contents had
been written onto the tape, this directory is
(recursively) extracted. If a named file on tape
does not exist on the system, the file is created
with the same mode as the one on tape, except that
the set-user-ID and set-group-ID bits are not set
unless you are super-user. If the files exist,
their modes are not changed except for the bits
described above. The owner, group, and
modification time are restored (if possible). If
no files argument is given, the entire content of
the tape is extracted. Note that if several files
with the same name are on the tape, the last one
overwrites all earlier ones.
t The names of all the files on the tape are listed.
u The named files are added to the tape if they are
not already there, or have been modified since last
written on that tape.
c Create a new tape; writing begins at the beginning
of the tape, instead of after the last file. This
command implies the r function.
The following characters may be used in addition to the
letter that selects the desired function:
#s Where # is a tape drive number (0,...,7), and s is
the density (l - low (800 bpi), m - medium (1600
Page 1 (last mod. 1/16/87)
tar(1) tar(1)
bpi), or h - high (6250 bpi)). This modifier
selects the drive on which the tape is mounted.
The default is 0m.
i Causes tar to ignore symbolic links.
v Normally, tar does its work silently. The v
(verbose) flag option causes it to type the name of
each file it treats, preceded by the function
letter. With the t function, v gives more
information about the tape entries than just the
name.
w Causes tar to print the action to be taken,
followed by the name of the file, and then wait for
the user's confirmation. If a word beginning with
y is given, the action is performed. Any other
input means ``no''.
f causes tar to use the next argument as the name of
the archive instead of /dev/mt/??. If the name of
the file is -, tar writes to the standard output or
reads from the standard input, whichever is
appropriate. Thus, tar may be used as the head or
tail of a pipeline. tar may also be used to move
hierarchies with the command:
cd fromdir; tar cf - . | (cd todir; tar xf -)
b Causes to use the next argument as the blocking
factor for tape records. The default is 1, the
maximum is 20. This flag 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).
l Tells tar to complain if it cannot resolve all of
the links to the files being dumped. If l is not
specified, no error messages are printed.
m tells tar not to restore the modification times.
The modification time of the file will be the time
of extraction.
o Causes extracted files to take on the user and
group identifier of the user running the program
rather than those on the tape.
This version of tar is capable of writing more than one tape
or disk. The user will be prompted to change media when
necessary. The next two flag options are used for tapes;
the last is for disks.
d causes tar to use the next argument as the tape's
density. The default density is 1600 bpi.
s causes tar to use the next argument as the tape's
length in feet. The default length is 2300 feet.
B causes tar to use the next argument as the number
of 512-byte blocks in the disk.
Page 2 (last mod. 1/16/87)
tar(1) tar(1)
The tar header format is as follows:
# define TBLOCK 512
# define NBLOCK 40
# define NAMSIZ 100
union hblock {
char dummy[TBLOCK];
struct header {
char name[NAMESIZ];
char mode[8];
char uid[8];
char gid[8];
char size[12];
char mtime[12];
char chksum[8];
char linkflag;
char linkname[NAMESIZ];
} dbuf;
} dblock, tbuf[NBLOCK];
EXAMPLE
cd fromdir; tar cf - . | (cd todir; tar xf -)
will copy directories from one directory tree (fromdir) to
another (todir).
FILES
/usr/bin/tar
/dev/rmt?
/dev/mt/*
/tmp/tar*
/bin/mkdir build directories during recovery
/bin/pwd get working directory name
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 flag option can be slow.
The b flag option should not be used with archives that are
going to be updated. The current magnetic tape driver
cannot backspace raw magnetic tape. If the archive is on a
disk file, the b flag option should not be used at all,
Page 3 (last mod. 1/16/87)
tar(1) tar(1)
because updating an archive stored on disk can destroy it.
The current limit on filename length is 100 characters.
Empty directories are skipped when creating a tar archive.
Note that tar c0m is not the same as tar cm0.
tar is unable to work with character/block special devices.
Page 4 (last mod. 1/16/87)