OnWorks favicon

scsitape - Online in the Cloud

Run scsitape in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command scsitape that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



scsitape - control SCSI tape devices


scsitape [-f <scsi-generic-device>] commands


The scsitape command controls SCSI tape drives in a platform-independent manner. As long
as 'mtx' works on the platform, so does 'scsitape'.

Note that 'scsitape' and your OS's native tape driver may stomp on each other. In
particular, if you use 'setblk' and your OS's native tape driver has a different notion of
the block size, you may get evil results. It is recommended to use 'scsitape' only for
software where you've written your own low-level READ and WRITE routines that use the SCSI
command set to directly talk to tape drives (i.e., you do not use the OS's native tape
driver at all).


The first argument, given following -f , is the SCSI generic device corresponding to your
tape drive. Consult your operating system's documentation for more information (for
example, under Linux these are generally /dev/sg0 through /dev/sg15, under FreeBSD these
are /dev/pass0 through /dev/passX. Under Solaris this is usually the same as your tape
drive (Solaris has a SCSI passthrough ioctl). You can set the STAPE or TAPE environment
variable rather than use -f.


setblk <n>
Set the tape drive's SCSI block size to <n> bytes. (NOTE: if you are using your
OS's native tape driver, THIS IS EVIL!).

fsf <n> Go forward by <n> tapemarks.

bsf <n> Go to immediately previous the <n>th previous tapemark. (WARNING: This probably
doesn't do what you expect -- e.g. if you are immediately after a tapemark and
type 'bfs 1', it moves to immediately *before* that tape mark, for a sum total
of zero effective movement!).

eod Go to end of data.

rewind Rewind the tape drive.

eject Eject the tape currently in the drive.

erase Does a *short* erase (warning: does NOT work on all drives!).

mark <n>
write <n> filemarks ( 'mark 0' flushes the drive's buffers ).

seek <n> Seek to a logical position <n> that was reported by a previous 'tapeinfo'

write <blocksize>
write blocks from stdin to the tape. Chunk the data into <blocksize>-sized
chunks. *DOES NOT WRITE OUT A TAPEMARK!* (you will need to use a subsequent mark
1 command to write out a tape mark).

read [<blocksize>] [ <#blocks/#bytes> ]
read blocks from the tape, write them to stdout. If we are in variable block
mode, <blocksize> should be zero (note: The maximum block size we currently
support in variable block mode is 128K, MAX_READ_SIZE will need to be turned
into a settable variable to allow bigger reads). If <blocksize> is ommitted, we
assume that we're in variable block mode, and that we are going to read from
tape until we hit a tapemark or end of partition or end of tape.


This program was written by Eric Lee Green <[email protected]>. Major portions of the
'mtxl.c' library used herein were written by Leonard Zubkoff.

The SCSI read and write routines are based upon those that Richard Fish wrote for Enhanced
Software Technology's BRU 16.1 product, substantially modified to work in our particular
environment (in particular, all the variable block stuff is new since BRU only does fixed
block reads and writes, and the BRU code uses bitmasks rather than bitfields for the
various flags and such in return values, as well as the BRU code having a different SCSI
API and having variable names considerably shorter than the rather sesquipedalian 'mtx'
identifiers). As required by 'mtxl.c', these routines are licensed under the GNU General
Public License.


Under Linux, cat /proc/scsi/scsi will tell you what SCSI devices you have. You can then
refer to them as /dev/sga, /dev/sgb, etc. by the order they are reported.

Under FreeBSD, camcontrol devlist will tell you what SCSI devices you have, along with
which pass device controls them.

Under Solaris 7 and 8, /usr/sbin/devfsadm -C will clean up your /devices directory. Then
find /devices -name 'st@*' -print will return a list of all tape drives. /dev on Solaris
is apparently only of historical interest.

Use scsitape online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

  • 1
    DavMail POP/IMAP/SMTP/Caldav to Exchange
    DavMail POP/IMAP/SMTP/Caldav to Exchange
    Ever wanted to get rid of Outlook ?
    DavMail is a
    gateway allowing users to use any mail
    client with Exchange and Office 365, e...
    Download DavMail POP/IMAP/SMTP/Caldav to Exchange
  • 2
    DivFix++ is yours AVI video repair and
    preview software. It designed for repair
    and preview files which are on download
    from ed2k(emule), torrent, gnutella, ftp...
    Download DivFix++
  • 3
    JBoss Community
    JBoss Community
    Community driven projects featuring the
    latest innovations for cutting edge
    apps. Our flagship project JBoss AS is
    the leading Open Source,
    Download JBoss Community
  • 4
    Django Filer
    Django Filer
    django Filer is a file management
    application for django that makes
    handling files and images a breeze.
    django-filer is a file management
    application for djang...
    Download Django Filer
  • 5
    Extreme Cluster Administration Toolkit.
    xCAT is a scalable cluster management
    and provisioning tool that provides
    hardware control, discovery, and OS
    Download xCAT
  • 6
    Psi is cross-platform powerful XMPP
    client designed for experienced users.
    There are builds available for MS
    Windows, GNU/Linux and macOS.. Audience:
    End Users...
    Download Psi
  • More »

Linux commands