---
name: "mt"
section: "1"
platform: "openbsd"
package: "man"
version: "8.0-current-20261101"
release: "OpenBSD 8.0-current (2026-11-01)"
platforms: ["linux", "freebsd", "openbsd"]
url: "https://new.carta.tech/mt"
---

# mt(1)

magnetic tape and removable media manipulating program

## NAME

**mt**, **eject** – magnetic tape and removable media manipulating program

## SYNOPSIS

**mt** \[**-f** *device*\] *command* \[*count*\]

**eject** \[**-t**\] *device*

## DESCRIPTION

The **mt** utility sends commands to a magnetic tape drive. By default, **mt** performs the requested operation once. Operations may be performed multiple times by specifying *count*. Note that *device* must reference a raw (not block) tape device. If *device* is of the form “host:device” or “user@host:device”, **mt** writes to the named tape device on the remote host using [rmt(8)](/rmt/8.md). **eject** is simply an alias for **mt**, with the **offline** command specified. **eject** may also be used to eject other types of removable media.

The options for **mt** are as follows:

- **-f** *device*

  Operate on the *device* specified.

The options for **eject** are as follows:

- **-t**

  Insert the device instead of ejecting. For the [cd(4)](/cd/4.md) driver, this requests that the tray be closed.

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

- **eof**, **weof**

  Write *count* end-of-file marks at the current position on the tape.

- **fsf**

  Forward space *count* files.

- **fsr**

  Forward space *count* records.

- **bsf**

  Back space *count* files.

- **bsr**

  Back space *count* records.

- **rewind**

  Rewind the tape (*count* is ignored).

- **offline**, **rewoffl**

  Rewind the tape and place the tape unit off-line (*count* is ignored). On non-tape removable media, the **offline** command causes the media to be ejected when the last operation on it closes (i.e., the filesystem is unmounted).

- **status**

  Print status information about the tape unit.

- **retension**

  Retension the tape (if this operation is supported by the tape unit).

- **erase**

  Erase the tape (if this operation is supported by the tape unit).

- **eom**

  Forward space to the end of the media.

- **blocksize**

  Set the tape blocksize to *count* bytes.

- **density**

  Set the tape density code to *count* as specified in the SCSI2 specification.

If a tape name is not specified, and the environment variable TAPE does not exist, **mt** uses the device */dev/rst0*. The TAPE variable is ignored by **eject**.

## ENVIRONMENT

If the following environment variable exists, it is utilized by **mt**.

- TAPE

  **mt** checks the TAPE environment variable if the argument *device* is not given.

## FILES

- */dev/rst\**

  raw SCSI tape interface

- */usr/src/sys/scsi/scsi\_tape.h*

  list of SCSI2 density codes

## EXIT STATUS

**mt** returns a 0 exit status when the operation(s) were successful, 1 if the command was unrecognized, and 2 if an operation failed.

## EXAMPLES

Eject the first CD device. This will work even if there is no CD in the drive:

```
$ eject /dev/rcd0c
```

## SEE ALSO

[cdio(1)](/cdio/1.md), [chio(1)](/chio/1.md), [dd(1)](/dd/1.md), [ioctl(2)](/ioctl/2.md), [mtio(4)](/mtio/4.md)

## HISTORY

The **mt** utility appeared in Version 2 AT&T UNIX.
