TAR(1) TAR(1)
NAME
tar, dircp - archiver
SYNOPSIS
tar key [ file ... ]
dircp fromdir todir
DESCRIPTION
Tar saves and restores file trees. It is most often used to
transport a tree of files from one system to another. The
key is a string that contains at most one function letter
plus optional modifiers. Other arguments to the command are
names of files or directories to be dumped or restored. A
directory name implies all the contained files and subdirec-
tories (recursively).
The function is one of the following letters:
c Create a new archive with the given files as contents.
r The named files are appended to the archive.
t List all occurrences of each file in the archive, or of
all files if there are no file arguments.
x Extract the named files from the archive. If a file is
a directory, the directory is extracted recursively.
Modes are restored if possible. If no file argument is
given, extract the entire archive. If the archive con-
tains multiple entries for a file, the latest one wins.
The modifiers are:
f Use the next argument as the name of the archive
instead of the default standard input (for keys x and
t) or standard output (for keys c and r).
g Use the next (numeric) argument as the group id for
files in the output archive.
i Ignore errors encountered when reading. Errors writing
either produce a corrupt archive or indicate deeper
file system problems.
k (keep) Modifies the behavior of x not to extract files
which already exist.
m Do not set the modification time on extracted files.
This is the default behavior; the flag exists only for
Page 1 Plan 9 (printed 10/29/25)
TAR(1) TAR(1)
compatibility with other tars.
p Create archive in POSIX ustar format, which raises the
maximum pathname length from 100 to 256 bytes. Ustar
archives are recognised automatically by tar when read-
ing archives. This is the default behavior; the flag
exists only for backwards compatibility with older ver-
sions of tar.
P Do not generate the POSIX ustar format.
R When extracting, respect leading slash on file names.
By default, files are always extracted relative to the
current directory.
s When extracting, attempt to resynchronise after not
finding a tape header block where expected.
T Modifies the behavior of x to set the modified time,
mode and, for POSIX archives and filesystem permitting,
the user and group of each file to that specified in
the archive.
u Use the next (numeric) argument as the user id for
files in the output archive. This is only useful when
moving files to a non-Plan 9 system.
v (verbose) Print the name of each file as it is pro-
cessed. With t, give more details about the archive
entries.
z Operate on compressed tar archives. The type of com-
pression is inferred from the file name extension:
gzip(1) for .tar.gz and .tgz; bzip2 (see gzip(1)) for
.tar.bz, .tbz, .tar.bz2, and .tbz2; compress for .tar.Z
and .tz. If no extension matches, gzip is used. The z
flag is unnecessary (but allowed) when using the t and
x verbs on archives with recognized extensions.
EXAMPLES
Tar can be used to copy hierarchies thus:
@{cd fromdir && tar c .} | @{cd todir && tar xT}
Dircp does this.
SOURCE
/sys/src/cmd/tar.c
/rc/bin/dircp
SEE ALSO
ar(1), bundle(1), tapefs(4), mkfs(8)
Page 2 Plan 9 (printed 10/29/25)
TAR(1) TAR(1)
BUGS
There is no way to ask for any but the last occurrence of a
file.
File path names are limited to 100 characters (256 when
using ustar format).
The tar format allows specification of links and symbolic
links, concepts foreign to Plan 9: they are ignored.
The r key (append) cannot be used on compressed archives.
Tar, thus dircp, doesn't record Plan-9-specific metadata
such as append-only and exclusive-open permission bits, so
they aren't copied.
Page 3 Plan 9 (printed 10/29/25)