May the source be with you, but remember the KISS principle ;-)
Home Switchboard Unix Administration Red Hat TCP/IP Networks Neoliberalism Toxic Managers
(slightly skeptical) Educational society promoting "Back to basics" movement against IT overcomplexity and  bastardization of classic Unix

Unix mt command

News Books See also Recommended Links


Humor Etc

Under UNIX, magnetic tape drives are given individual numbers, starting from zero. Tape drives are accessed by means of a device special file which is located in the /dev  directory. These device special files appear to the user as normal files, which can be opened, read from and written to. All operations that you would do on a normal file can be done on a special file. The only difference is that the data in the file resides on the tape loaded in the drive, not on the filesystem. In addition, because there are different ways of physically writing data to a tape (e.g. low/high density), there are several different files that correspond to the same tape drive.

Each variant of UNIX has its own names for the tape drives. We will limit ourselves to linux

Tape devices under linux have different names depending on the type of tape involved. The most common sort of tape (SCSI Tape) will have a device name of  'st'.
So for example the first scsi tape will have the following device special files

/dev/st0  - normal rewinding scsi device /dev/nst0  - non-rewinding scsi tape device

Floppy tape drives (e.g. iomega ditto, Travan tapes and other QIC  Format tape drives) will be called ;

/dev/rft0  - normal rewinding floppy tape device.

/dev/nrft0  - non-rewinding floppy tape device.

One major difference between Linux and Digital UNIX devices is that the density code is not used on linux. If you want to write a tape with a density other than the default (usually highest) density then you may need to use the mt  command with the densities or setdensities  arguments to set the density of the device.  Read operations usually do not need the density setting explicitly, as this will be automatically picked up.

Manipulating tapes: the "mt" command

The mt  command is the magnetic tape handling program for UNIX. This command has the following syntax;
  mt [-f tape_device] command [count]
Where tape_device  is one of the device special files discussed in the first section, normally a "no rewind" device like /dev/nrmt0h. The commands are detailed in the man page for "mt", but a few important ones will be listed here.

rewind  Rewinds a tape. status  Prints out information about a tape. offline  Unloads a tape. fsf  Forward Skip File. bsf  Back Skip File. Some of these commands can take an argument, e.g.

mssly1~> mt -f /dev/nrmt0h fsf 2
Will skip forward two files on a DAT on mssly1.

 The drive name is optional, if you are accessing the first tape drive (mt0). For all other drives the drive name must be explicitly specified on the command line. This is good practice even if you are using the default drive.

Rewind tape drive:

# mt -f /dev/st0 rewind
Backup directory /www and /home with tar command (z - compressed):# tar -czf /dev/st0 /www

Find out what block you are at with mt command:# mt -f /dev/st0 tell

Display list of files on tape drive:# tar -tzf /dev/st0

Restore /www directory:

# cd /# mt -f /dev/st0 rewind
# tar -xzf /dev/st0 www

Unload the tape:

# mt -f /dev/st0 offline

Display status information about the tape unit:

# mt -f /dev/st0 status

Erase the tape:

# mt -f /dev/st0 erase

You can go BACKWARD or FORWARD on tape with mt command itself:
(a) Go to end of data:# mt -f /dev/nst0 eod(b) Goto previous record:# mt -f /dev/nst0 bsfm 1(c) Forward record:# mt -f /dev/nst0 fsf 1 Replace /dev/st0 with your actual tape drive name.

Full list of options

Forward space count files. The tape is positioned on the first block of the next file.
Forward space count files. The tape is positioned on the last block of the previous file.
Backward space count files. The tape is positioned on the last block of the previous file.
Backward space count files. The tape is positioned on the first block of the next file.
The tape is positioned at the beginning of the count file. Positioning is done by first rewinding the tape and then spacing forward over count filemarks.
Forward space count records.
Backward space count records.
(SCSI tapes) Forward space count setmarks.
(SCSI tapes) Backward space count setmarks.
eod, seod
Space to end of valid data. Used on streamer tape drives to append data to the logical and of tape.
Rewind the tape.
offline, rewoffl, eject
Rewind the tape and, if applicable, unload the tape.
Rewind the tape, then wind it to the end of the reel, then rewind it again.
weof, eof
Write count EOF marks at current position.
(SCSI tapes) Write count setmarks at current position (only SCSI tape).
Erase the tape.
Print status information about the tape unit. (If the density code is "no translation" in the status output, this does not affect working of the tape drive.)
(SCSI tapes) Seek to the count block on the tape. This operation is available on some Tandberg and Wangtek streamers and some SCSI-2 tape drives. The block address should be obtained from a tell call earlier.
(SCSI tapes) Tell the current block on tape. This operation is available on some Tandberg and Wangtek streamers and some SCSI-2 tape drives.
(SCSI tapes) Switch to the partition determined by count. The default data partition of the tape is numbered zero. Switching partition is available only if enabled for the device, the device supports multiple partitions, and the tape is formatted with multiple partitions.
(SCSI tapes) The tape position is set to block count in the partition given by the argument after count. The default partition is zero.
(SCSI tapes) Format the tape with one (count is zero) or two partitions (count gives the size of the second partition in megabytes). The tape drive must be able to format partitioned tapes with initiator-specified partition size and partition support must be enabled for the drive.
(SCSI tapes) Send the load command to the tape drive. The drives usually load the tape when a new cartridge is inserted. The argument count can usually be omitted. Some HP changers load tape n if the count 10000 + n is given (a special funtion in the Linux st driver).
(SCSI tapes) Lock the tape drive door.
(SCSI tapes) Unlock the tape drive door.
(SCSI tapes) Set the block size of the drive to count bytes per record.
(SCSI tapes) Set the tape density code to count. The proper codes to use with each drive should be looked up from the drive documentation.
(SCSI tapes) Write explanation of some common density codes to standard output.
(SCSI tapes) Set the tape drive buffer code to number. The proper value for unbuffered operation is zero and "normal" buffered operation one. The meanings of other values can be found in the drive documentation or, in case of a SCSI-2 drive, from the SCSI-2 standard.
(SCSI tapes) The compression within the drive can be switched on or off using the MTCOMPRESSION ioctl. Note that this method is not supported by all drives implementing compression. For instance, the Exabyte 8 mm drives use density codes to select compression.
(SCSI tapes) Set the driver options bits for the device to the defined values. Allowed only for the superuser. The bits can be set either by oring the option bits from the file /usr/include/linux/mtio.h to count, or by using the following keywords (as many keywords can be used on the same line as necessary, unambiguous abbreviations allowed):
buffered writes enabled
asynchronous writes enabled
read-ahead for fixed block size
debugging (if compiled into driver)
write two filemarks when file closed
space directly to eod (and lose file number)
don't wait until rewind, etc. complete
automatically lock/unlock drive door
the block size and density are for writes
drive can space backwards well
drive doesn't support read block limits
drive can handle partitioned tapes
seek and tell use SCSI-2 logical block addresses instead of device dependent addresses
enable the System V semantics
(SCSI tapes) Set selected driver options bits. The methods to specify the bits to set are given above in description of stoptions. Allowed only for the superuser.
(SCSI tapes) Clear selected driver option bits. The methods to specify the bits to clear are given above in description of stoptions. Allowed only for the superuser.
(SCSI tapes) The write threshold for the tape device is set to count kilobytes. The value must be smaller than or equal to the driver buffer size. Allowed only for the superuser.
(SCSI tapes) Set the default block size of the device to count bytes. The value -1 disables the default block size. The block size set by setblk overrides the default until a new tape is inserted. Allowed only for the superuser.
(SCSI tapes) Set the default density code. The value -1 disables the default density. The density set by setdensity overrides the default until a new tape is inserted. Allowed only for the superuser.
(SCSI tapes) Set the default drive buffer code. The value -1 disables the default drive buffer code. The drive buffer code set by drvbuffer overrides the default until a new tape is inserted. Allowed only for the superuser.
(SCSI tapes) Set the default compression state. The value -1 disables the default compression. The compression state set by compression overrides the default until a new tape is inserted. Allowed only for the superuser.
sets the normal timeout for the device. The value is given in seconds. Allowed only for the superuser.
sets the long timeout for the device. The value is given in seconds. Allowed only for the superuser.
set the cleaning request interpretation parameters.

mt exits with a status of 0 if the operation succeeded, 1 if the operation or device name given was invalid, or 2 if the operation failed.



Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers :   Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism  : The Iron Law of Oligarchy : Libertarian Philosophy


War and Peace : Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda  : SE quotes : Language Design and Programming Quotes : Random IT-related quotesSomerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose BierceBernard Shaw : Mark Twain Quotes


Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 :  Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method  : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law


Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds  : Larry Wall  : John K. Ousterhout : CTSS : Multix OS Unix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOSProgramming Languages History : PL/1 : Simula 67 : C : History of GCC developmentScripting Languages : Perl history   : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history

Classic books:

The Peter Principle : Parkinson Law : 1984 : The Mythical Man-MonthHow to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Haterís Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite

Most popular humor pages:

Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor

The Last but not Least Technology is dominated by two types of people: those who understand what they do not manage and those who manage what they do not understand ~Archibald Putt. Ph.D

Copyright © 1996-2021 by Softpanorama Society. was initially created as a service to the (now defunct) UN Sustainable Development Networking Programme (SDNP) without any remuneration. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.

This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...

You can use PayPal to to buy a cup of coffee for authors of this site


The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the Softpanorama society. We do not warrant the correctness of the information provided or its fitness for any purpose. The site uses AdSense so you need to be aware of Google privacy policy. You you do not want to be tracked by Google please disable Javascript for this site. This site is perfectly usable without Javascript.

Last modified: March, 12, 2019