MT(1) FreeBSD General Commands Manual MT(1)


mtmagnetic tape manipulating program


mt [ -f tapename] command [ count]

mt [ -f tapename] command argument


The mt utility is used to command a magnetic tape drive for operations other than reading or writing data.

The -f option's tapename overrides the TAPE environment variable described below.

The available commands are listed below. Only as many characters as are required to uniquely identify a command need be specified.

The following commands optionally take a count, which defaults to 1.

Write count end-of-file (EOF) marks at the current position.
Write count setmarks at the current position (DDS drives only).
Forward space count files.
Forward space count records.
Forward space count setmarks (DDS drives only).
Backward space count files.
Backward space count records.
Backward space count setmarks (DDS drives only).
Erase the tape using a long (often very long) method. With a count of 0, it will erase the tape using a quick method. Operation is not guaranteed if the tape is not at its beginning. The tape will be at its beginning upon completion.

The following commands ignore count.

Read the hardware block position. The block number reported is specific for that hardware only. With drive data compression especially, this position may have more to do with the amount of data sent to the drive than the amount of data written to tape. Some drives do not support this.
Read the SCSI logical block position. This typically is greater than the hardware position by the number of end-of-file marks. Some drives do not support this.
Rewind the tape.
offline, rewoffl
Rewind the tape and place the drive off line. Some drives are never off line.
Re-tension the tape. This winds the tape from the current position to the end and then to the beginning. This sometimes improves subsequent reading and writing, particularly for streaming drives. Some drives do not support this.
Output status information about the drive. For SCSI magnetic tape devices, the current operating modes of density, blocksize, and whether compression is enabled is reported. The current state of the driver (what it thinks that it is doing with the device) is reported. If the driver knows the relative position from BOT (in terms of filemarks and records), it outputs that. Note that this information is not definitive (only BOT, End of Recorded Media, and hardware or SCSI logical block position (if the drive supports such) are considered definitive tape positions).
Output (and clear) error status information about this device. For every normal operation (e.g., a read or a write) and every control operation (e.g,, a rewind), the driver stores up the last command executed and it is associated status and any residual counts (if any). This command retrieves and outputs this information. If possible, this also clears any latched error information.
Output the current EOT filemark model. The model states how many filemarks will be written at close if a tape was being written.
eod, eom
Wind the tape to the end of the recorded data, typically after an EOF mark where another file may be written.

The following commands require an argument.

Set the hardware block position. The argument is a hardware block number to which to position the tape. Some drives do not support this.
Set the SCSI logical block position. The argument is a SCSI logical block number to which to position the tape. Some drives do not support this.
Set the block size for the drive. The argument is the number of bytes per block, except 0 commands the drive to use variable-length blocks.
Set the EOT filemark model to argument and output the old and new models. Typically this will be 2 filemarks, but some devices (typically QIC cartridge drives) can only write 1 filemark. You may only choose a value of 1 or 2.
Set the drive's compression mode. The non-numeric values of argument are:

Turn compression off.
Turn compression on.
Same as off.
Same as on.
IBM Improved Data Recording Capability compression (0x10).
DCLZ compression algorithm (0x20).

In addition to the above recognized compression keywords, the user can supply a numeric compression algorithm for the drive to use. In most cases, simply turning the compression ‘on’ will have the desired effect of enabling the default compression algorithm supported by the drive. If this is not the case (see the status display to see which compression algorithm is currently in use), the user can manually specify one of the supported compression keywords (above), or supply a numeric compression value from the drive's specifications.

Set the density for the drive. For the density codes, see below. The density value could be given either numerically, or as a string, corresponding to the “Reference” field. If the string is abbreviated, it will be resolved in the order shown in the table, and the first matching entry will be used. If the given string and the resulting canonical density name do not match exactly, an informational message is output about what the given string has been taken for.

The following density table was taken from the ‘Historical sequential access density codes’ table (A-1) in Revision 11 of the SCSI-3 Stream Device Commands (SSC) working draft, dated November 11, 1997.

The density codes are:

0x0    default for device 
0xE    reserved for ECMA 
Value  Width        Tracks    Density         Code Type Reference   Note 
        mm    in              bpmm       bpi 
0x01   12.7  (0.5)    9         32     (800)  NRZI  R   X3.22-1983   2 
0x02   12.7  (0.5)    9         63   (1,600)  PE    R   X3.39-1986   2 
0x03   12.7  (0.5)    9        246   (6,250)  GCR   R   X3.54-1986   2 
0x05    6.3  (0.25)  4/9       315   (8,000)  GCR   C   X3.136-1986  1 
0x06   12.7  (0.5)    9        126   (3,200)  PE    R   X3.157-1987  2 
0x07    6.3  (0.25)   4        252   (6,400)  IMFM  C   X3.116-1986  1 
0x08    3.81 (0.15)   4        315   (8,000)  GCR   CS  X3.158-1987  1 
0x09   12.7  (0.5)   18      1,491  (37,871)  GCR   C   X3.180       2 
0x0A   12.7  (0.5)   22        262   (6,667)  MFM   C   X3B5/86-199  1 
0x0B    6.3  (0.25)   4         63   (1,600)  PE    C   X3.56-1986   1 
0x0C   12.7  (0.5)   24        500  (12,690)  GCR   C   HI-TC1       1,6 
0x0D   12.7  (0.5)   24        999  (25,380)  GCR   C   HI-TC2       1,6 
0x0F    6.3  (0.25)  15        394  (10,000)  GCR   C   QIC-120      1,6 
0x10    6.3  (0.25)  18        394  (10,000)  GCR   C   QIC-150      1,6 
0x11    6.3  (0.25)  26        630  (16,000)  GCR   C   QIC-320      1,6 
0x12    6.3  (0.25)  30      2,034  (51,667)  RLL   C   QIC-1350     1,6 
0x13    3.81 (0.15)   1      2,400  (61,000)  DDS   CS  X3B5/88-185A 5 
0x14    8.0  (0.315)  1      1,703  (43,245)  RLL   CS  X3.202-1991  5 
0x15    8.0  (0.315)  1      1,789  (45,434)  RLL   CS  ECMA TC17    5 
0x16   12.7  (0.5)   48        394  (10,000)  MFM   C   X3.193-1990  1 
0x17   12.7  (0.5)   48      1,673  (42,500)  MFM   C   X3B5/91-174  1 
0x18   12.7  (0.5)  112      1,673  (42,500)  MFM   C   X3B5/92-50   1 
0x19   12.7  (0.5)  128      2,460  (62,500)  RLL   C   DLTapeIII    6,7 
0x1A   12.7  (0.5)  128      3,214  (81,633)  RLL   C   DLTapeIV(20) 6,7 
0x1B   12.7  (0.5)  208      3,383  (85,937)  RLL   C   DLTapeIV(35) 6,7 
0x1C    6.3  (0.25)  34      1,654  (42,000)  MFM   C   QIC-385M     1,6 
0x1D    6.3  (0.25)  32      1,512  (38,400)  GCR   C   QIC-410M     1,6 
0x1E    6.3  (0.25)  30      1,385  (36,000)  GCR   C   QIC-1000C    1,6 
0x1F    6.3  (0.25)  30      2,666  (67,733)  RLL   C   QIC-2100C    1,6 
0x20    6.3  (0.25) 144      2,666  (67,733)  RLL   C   QIC-6GB(M)   1,6 
0x21    6.3  (0.25) 144      2,666  (67,733)  RLL   C   QIC-20GB(C)  1,6 
0x22    6.3  (0.25)  42      1,600  (40,640)  GCR   C   QIC-2GB(C)   ? 
0x23    6.3  (0.25)  38      2,666  (67,733)  RLL   C   QIC-875M     ? 
0x24    3.81 (0.15)   1      2,400  (61,000)        CS  DDS-2        5 
0x25    3.81 (0.15)   1      3,816  (97,000)        CS  DDS-3        5 
0x26    3.81 (0.15)   1      3,816  (97,000)        CS  DDS-4        5 
0x27    8.0  (0.315)  1      3,056  (77,611)  RLL   CS  Mammoth      5 
0x28   12.7  (0.5)   36      1,491  (37,871)  GCR   C   X3.224       1 
0x29   12.7  (0.5) 
0x2B   12.7  (0.5)    3          ?        ?     ?   C   X3.267       5 
0x41   12.7  (0.5)  208      3,868  (98,250)  RLL   C   DLTapeIV(40) 6,7 
0x48   12.7  (0.5)  448      5,236  (133,000) PRML  C   SDLTapeI(110) 6,8 
0x49   12.7  (0.5)  448      7,598  (193,000) PRML  C   SDLTapeI(160) 6,8

Code    Description                                Type Description 
----    --------------------------------------     ---- ----------- 
NRZI    Non return to zero, change on ones         R    Reel-to-reel 
GCR     Group code recording                       C    Cartridge 
PE      Phase encoded                              CS   Cassette 
IMFM    Inverted modified frequency modulation 
MFM     Modified frequency modulation 
DDS     DAT data storage 
RLL     Run length limited 
PRML    Partial Response Maximum Likelihood

1. Serial recorded. 
2. Parallel recorded. 
3. Old format known as QIC-11. 
5. Helical scan. 
6. This is not an American National Standard.  The reference is based on 
   an industry standard definition of the media format. 
7. DLT recording: serially recorded track pairs (DLTapeIII and 
   DLTapeIV(20)), or track quads (DLTapeIV(35) and DLTapeIV(40)). 
8. Super DLT (SDLT) recording: 56 serially recorded logical tracks with 
   8 physical tracks each.


This is the pathname of the tape drive. The default (if the variable is unset, but not if it is null) is /dev/nsa0. It may be overridden with the -f option.


QIC-02/QIC-36 magnetic tape interface
SCSI magnetic tape interface


The exit status will be 0 when the drive operations were successful, 2 when the drive operations were unsuccessful, and 1 for other problems like an unrecognized command or a missing drive device.


Some undocumented commands support old software.


The mt command appeared in 4.3BSD.

Extensions regarding the st(4) driver appeared in 386BSD-0.1 as a separate st command, and have been merged into the mt command in FreeBSD 2.1.

The former eof command that used to be a synonym for weof has been abandoned in FreeBSD 2.1 since it was often confused with eom, which is fairly dangerous.


The utility cannot be interrupted or killed during a long erase (which can be longer than an hour), and it is easy to forget that the default erase is long.

Hardware block numbers do not always correspond to blocks on the tape when the drive uses internal compression.

Erasure is not guaranteed if the tape is not at its beginning.

Tape-related documentation is poor, here and elsewhere.

January 20, 2008 FreeBSD