[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.1 Device Selection and Switching

(This message will disappear, once this node revised.)

-f [hostname:]file

Use archive file or device file on hostname.

This option is used to specify the file name of the archive tar works on.

If the file name is ‘-’, tar reads the archive from standard input (when listing or extracting), or writes it to standard output (when creating). If the ‘-’ file name is given when updating an archive, tar will read the original archive from its standard input, and will write the entire new archive to its standard output.

If the file name contains a ‘:’, it is interpreted as ‘hostname:file name’. If the hostname contains an at sign (‘@’), it is treated as ‘user@hostname:file name’. In either case, tar will invoke the command rsh (or remsh) to start up an /usr/libexec/rmt on the remote machine. If you give an alternate login name, it will be given to the rsh. Naturally, the remote machine must have an executable /usr/libexec/rmt. This program is free software from the University of California, and a copy of the source code can be found with the sources for tar; it’s compiled and installed by default. The exact path to this utility is determined when configuring the package. It is ‘prefix/libexec/rmt’, where prefix stands for your installation prefix. This location may also be overridden at runtime by using the ‘--rmt-command=command’ option (See section —rmt-command, for detailed description of this option. See section Remote Tape Server, for the description of rmt command).

If this option is not given, but the environment variable TAPE is set, its value is used; otherwise, old versions of tar used a default archive name (which was picked when tar was compiled). The default is normally set up to be the first tape drive or other transportable I/O medium on the system.

Starting with version 1.11.5, GNU tar uses standard input and standard output as the default device, and I will not try anymore supporting automatic device detection at installation time. This was failing really in too many cases, it was hopeless. This is now completely left to the installer to override standard input and standard output for default device, if this seems preferable. Further, I think most actual usages of tar are done with pipes or disks, not really tapes, cartridges or diskettes.

Some users think that using standard input and output is running after trouble. This could lead to a nasty surprise on your screen if you forget to specify an output file name—especially if you are going through a network or terminal server capable of buffering large amounts of output. We had so many bug reports in that area of configuring default tapes automatically, and so many contradicting requests, that we finally consider the problem to be portably intractable. We could of course use something like ‘/dev/tape’ as a default, but this is also running after various kind of trouble, going from hung processes to accidental destruction of real tapes. After having seen all this mess, using standard input and output as a default really sounds like the only clean choice left, and a very useful one too.

GNU tar reads and writes archive in records, I suspect this is the main reason why block devices are preferred over character devices. Most probably, block devices are more efficient too. The installer could also check for ‘DEFTAPE’ in ‘<sys/mtio.h>’.


Archive file is local even if it contains a colon.


Use remote command instead of rsh. This option exists so that people who use something other than the standard rsh (e.g., a Kerberized rsh) can access a remote device.

When this command is not used, the shell command found when the tar program was installed is used instead. This is the first found of ‘/usr/ucb/rsh’, ‘/usr/bin/remsh’, ‘/usr/bin/rsh’, ‘/usr/bsd/rsh’ or ‘/usr/bin/nsh’. The installer may have overridden this by defining the environment variable RSH at installation time.


Specify drive and density.


Create/list/extract multi-volume archive.

This option causes tar to write a multi-volume archive—one that may be larger than will fit on the medium used to hold it. See section Archives Longer than One Tape or Disk.

-L num

Change tape after writing size units of data. Unless suf is given, size is treated as kilobytes, i.e. ‘size x 1024’ bytes. The following suffixes alter this behavior:

SuffixUnitsByte Equivalent
bBlockssize x 512
BKilobytessize x 1024
GGigabytessize x 1024^3
KKilobytessize x 1024
kKilobytessize x 1024
MMegabytessize x 1024^2
PPetabytessize x 1024^5
TTerabytessize x 1024^4
wWordssize x 2

Table 9.1: Size Suffixes

This option might be useful when your tape drivers do not properly detect end of physical tapes. By being slightly conservative on the maximum tape length, you might avoid the problem entirely.

-F command

Execute command at end of each tape. This implies ‘--multi-volume’ (‘-M’). See info-script, for a detailed description of this option.

[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated on August 23, 2023 using texi2html 5.0.