tctl コマンド

目的

サブコマンドをストリーミング・テープ・デバイスへ与えます。

構文

tctl-f Device ] [  eof | weof | fsf | bsf | fsr | bsr | rewind | offline rewoffl | erase | retension | reset | status ] [ Count ]

tctl-b BlockSize ] [  -f Device ] [  -p BufferSize ] [  -v ] [  -n ] [  -B ] {  read | write }

説明

tctl コマンドは、サブコマンドをストリーミング・テープ・デバイスに提供します。Device 変数に -f フラグを指定しないと、TAPE 環境変数が使用されます。環境変数が存在しない場合には、tctl コマンドは /dev/rmt0.1 デバイスを使用します。(tctl コマンドが status サブコマンドを提供する場合には、デフォルト・デバイスは /dev/rmt0 です。) Device 変数には、ロー (ブロックではない) テープ・デバイスを指定しなければなりません。Count パラメーターには、EOF マーカー数、ファイル・マーク数、またはレコード数を指定します。Count パラメーターを指定しないと、デフォルト数は 1 です。

サブコマンド

項目 説明
eof または weof Count パラメーターで指定した EOF マーカーの数をテープ上の現在位置に書き込みます。8 ミリのテープ・ドライブ上では、EOF マーカーを以下の 3 個所に書き込むことができます。
  • ブランク・テープの手前
  • 拡張ファイル・マークの手前
  • テープの先頭マーク個所

9 トラック・テープ・ドライブでは、EOT マークはテープの任意の位置に書き込むことができます。ただし、このサブコマンドは単一データ・ブロックの上書きはサポートしていません。

fsf Count パラメーターで指定されたファイル・マークの数だけ順方向にテープを移動し、ファイル・マークの EOT (テープの終わり) 側に位置付けます。
bsf Count パラメーターで指定したファイル・マークの数だけ逆方向にテープを移動し、ファイル・マークの BOT (テープの先頭) 側に位置付けます。
  bsf サブコマンドがテープを先頭を過ぎて移動させると、テープは巻き戻され、tctl コマンドが EIO を戻します。
fsr Count パラメーターで指定したレコード数だけテープを順方向に移動します。
bsr Count パラメーターで指定したレコード数だけテープを逆方向に移動します。
rewind テープを巻き戻します。Count パラメーターは無視されます。
offline または rewoffl テープを巻き戻してテープ・ドライブをオフラインにします。必要に応じて、テープを取り出します。デバイスが再び使用される前に、テープは再挿入しなければなりません。
erase テープの内容をすべて消去して巻き戻します。
read 内部バッファーがいっぱいになるまで、指定されたテープ・デバイスから (指定されたブロック・サイズを使用して) 読み取り、そのデータを標準出力に書き出します。そして EOF (ファイルの終わり) に達するまで、同様に読み取りと書き込みを続けます。
reset バス・デバイス・リセット (BDR) をテープ・デバイスに送信します。BDR は、デバイスをオープンできず、ビジーでない場合にのみ送信されます。
retension テープを先頭に移動し、それから最後に移動し、また先頭に戻します。復元中に過度の読み取りエラーがある場合は、retension サブコマンドを実行しなければなりません。 テープが環境極値にさらされた場合、テープに書き込む前に retension サブコマンドを実行しなければなりません。 8 mm のテープ・ドライブは、このコマンドに応答しません。
status 指定したテープ・デバイスに関する状況情報を表示します。
write テープ・デバイスをオープンし、標準入力から読み取ったデータをテープ・デバイスに書き込みます。
ヒント: read または write サブコマンドを指定すると、tctl コマンドは、テープ・デバイスをオープンし、テープ・ブロックのサイズを -b または -n フラグで指定した値に設定します。 いずれのフラグも指定されていないと、tctl コマンドはデフォルトのブロック・サイズである 512 バイトを使用します。
制限:
  • -b-n-p、および -v フラグは、read および write サブコマンドを使用する場合にのみ適用されます。
  • -B フラグは、read サブコマンドを使用する場合にのみ適用されます。

フラグ

項目 説明
-b BlockSize テープ・デバイスの読み取りと書き込みに使用されるバッファーのサイズをバイト単位で指定します。また、-n フラグがない場合には、テープ・ブロック・サイズも指定します。ブロック・サイズが 0 の場合は、可変長ブロックが使用され、テープ・バッファーのサイズは 32,768 になります。-b フラグを指定しないと、デフォルトのブロック・サイズとテープ・バッファーのサイズは 512 バイトになります。
-B テープが読み取られるたびに、バッファーの内容が書き込まれます。通常の固定長ではない、可変長レコードを読み取る場合には、このフラグを設定してください。
-f Device テープ・デバイスを指定します。
-p BufferSize 標準入力と標準出力で使用されるバッファーのサイズを指定します。デフォルトのバッファー・サイズは 32,768 バイトです。BufferSize の値は、テープ・ブロック・サイズの倍数でなければなりません。
-v 詳細。各読み取りと書き込みのサイズを標準エラーに表示します。
-n read サブコマンドまたは write サブコマンドでテープからの読み取り、またはテープへの書き込みを行うときに、可変長レコードを指定します。

終了状況

このコマンドは、以下の終了値を戻します。

項目 説明
0 正常終了。
>0 エラーが発生しました。

  1. rmt1 テープ・デバイスを巻き戻すには、以下のように入力します。
    tctl  -f /dev/rmt1  rewind
  2. デフォルトのテープ・デバイス上で 2 つのファイル・マークを順方向に移動するには、以下のように入力します。
    tctl  fsf 2
  3. /dev/rmt0.6 内のテープに 2 つの EOF マーカーを書き込むには、以下のように入力します。
    tctl  -f /dev/rmt0.6  weof 2
  4. 80 バイトのブロックでフォーマットされたテープ・デバイスを読み取り、 結果をファイルに書き込むには、以下のように入力します。

    tctl -b 80  read > file
  5. 80 バイトのブロックでフォーマットされたテープ・デバイスから可変長レコードを読み取り、結果をファイルに書き込むには、以下のように入力します。
    tctl -b 80  -n read > file
  6. 1024 バイトのバッファー・サイズで、可変長レコードをテープ・デバイスに書き込むには、以下のように入力します。
    cat file | tctl -b 1024 -n -f/dev/rmt1 write
  7. 512 バイトのブロックでテープ・デバイスに書き込み、標準入力に 5120 バイトのバッファーを使用するには、以下のように入力します。
    cat file | tctl -v -f /dev/rmt1 -p 5120 -b 512 write

    注: 4 分の 1 インチ (QIC) のテープ・ドライブに有効なブロック・サイズは、0 と 512 だけです。

  8. 8 ミリ・テープ上の複数のバックアップの 1 つを上書きするには、テープをバックアップ・ファイルの先頭に置き、以下のコマンドを発行します。
    tctl bsf 1

    tctl eof 1

最初のコマンドは、テープをファイル・マークのテープの先頭側に移動させます。 2 番目のコマンドによりファイル・マークが書き直されますが、これは書き込みが拡張ファイル・マークより手前で許可されているためです。ドライブの消去ヘッドは、書き込みヘッドが到達する前にデータを消去するため、write サブルーチンは既にテープ中にあるデータをオーバーライドすることができます。ただし、後続のすべての旧データは、そのファイル・マーカーが意味を持たなくなっているため失われます。

注: write サブルーチンは、短ファイル・マークの後にブランク・テープが続いている場合を除いては、短ファイル・マークをオーバーライドできません。既存のデータをオーバーライドするには、この例の場合と同様に、(SMIT インターフェースにより指定されているとおり) テープを拡張ファイル・マークとともに書き込まなければなりません。

ファイル

項目 説明
/dev/rmtn ロー・ストリーミング・テープ・インターフェースを指定します。
/usr/bin/tctl tctl コマンドが入っています。