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 11/23/24) 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 11/23/24) 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. The T key (write metadata) won't work for non-empty directo- ries. 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 11/23/24)