KERMIT(1C) — NEWS-OS Programmer’s Manual
名称
kermit − kermit ファイル転送
形式
kermit [ option ... ] [ file ... ]
解説
kermit は、さまざまなオペレーティングシステムやアーキテクチャ を持つマシン間でファイルを転送することができる、 ファイル転送プログラムです。 このマニュアルでは、 kermit のバージョン 4C について解説します。
引数はオプションです。 kermit が引数なしで実行されると、コマンドモードに入ります。その他の場合、 kermit はコマンドラインから引数を読み込み、それ等を解釈します。
コマンドの解説には、以下の記法が用いられています。
fn ワイルドカードキャラクタ ‘∗’ や ‘?’ を含むことができる UNIX ファイル名の 指定 (‘∗’ は全ての文字列にマッチし、‘?’ は 1 つの文字のみにマッチします)。
fn1 `∗’ や ‘?’ を含まない UNIX ファイル名の指定。
rfn リモートシステム独自のリモートファイル名の指定で、 1 つまたは複数のファイルを指します。
rfn1 1 つのファイルのみを指すリモートファイル名の指定。
n 0 から 94 までの間の 10 進数。
c 0 から 127 までの間の 10 進数であり、ASCII キャラクタ値を表します。
cc 0 から 31 までの間の 10 進数、あるいは 10 進数で 127 であり、 ASCII コントロールキャラクタを表します。
[ ] 角カッコ内のフィールドはオプションです。
{x,y,z} 中カッコ内のリストは、どれかを選択することを意味します。
kermit のコマンドラインオプションでは、操作または設定を行うことができます。 kermit が何の操作も指定していないコマンドラインで起動された場合、 プロンプトを出力して対話モードになります。 操作オプションは、プロトコル処理や端末接続を指定します。
コマンドラインオプション
−s fn 指定された 1 つまたは複数のファイルを送出します。 fn にワイルドカード (メタ) キャラクタが含まれる場合、 UNIX のシェルがそれをリストに展開します。 fn が ‘−’ である場合、 kermit は標準入力から送出を行います。この場合、標準入力はファイルからの、 kermit −s − < foo.bar または並行プロセスからの、 ls −l | kermit −s −
でなければなりません。
この機構を用いて、端末からの入力を送出することはできません。 "−" という名のファイルを送出するには、次のようにパス名を指定してください。 kermit −s ./−
−r 1 つまたは複数のファイルを受信します。 ファイルが転送されるのを受動的に待ちます。
−k 1 つまたは複数のファイルを (受動的に) 受信し、それらを標準出力に送ります。 このオプションはさまざまな手法で用いることができます。 kermit −k
上記の例は、受信しているファイルを画面に表示します。 "ローカルモード" (後述) のみで用いることができます。 kermit −k > fn1
上記の例は、受信している 1 つまたは複数のファイルを、 指定されたファイル fn1 に出力します。複数のファイルを受信しているときには、 全てのファイルを結合し、単一のファイル fn1 に出力します。 kermit −k | command
上記の例は、受信しているデータ (1 つまたは複数のファイル) を 指定されたコマンドにパイプします。 kermit −k | sort > sorted.stuff
−a fn1
ファイル転送オプションを指定した場合、 −a オプションにより単一ファイル名を変更することができます。例えば、 kermit −s foo −a bar
はファイル foo を bar という名前で送信します。 複数のファイルを受信/送信する場合には、最初のファイルのみが −a オプションの影響を受けます。また、 kermit −ra baz
は、受信した最初のファイルを baz という名前でストアします。
−x サーバ操作を開始します。 ローカルモード、リモートモードいずれでも用いることができます。
解説を続行する前に、 リモート操作/ローカル操作についての簡単な解説が必要でしょう。 kermit がユーザが直接に使用しているパーソナル コンピュータやワークステーションで実行されているとき、 あるいはマルチユーザシステムで、 ジョブを制御している端末やコンソールではなく、 外部通信回線に対しファイルを転送しているとき、 "ローカルモード" であるといいます。 マルチユーザシステムで、ユーザのパーソナルコンピュータ やワークステーションに結合されている、 自身の端末通信回線を介してファイルを転送しているとき、 kermit は "リモート" であるといいます。
パーソナルコンピュータ上で kermit を実行しているなら、それはデフォルトでローカルモードであり、 ファイル転送や端末接続のための "バックポート" が指定されています。 kermit をマルチユーザ (タイムシェアリング) システムで実行しているなら、 ファイル転送や端末接続のために明示的に外部通信回線を指定しない限り、 それはリモートモードとなります。 次のコマンドは、 kermit の "モード" を設定します。
−l dev 通信回線 — ファイル転送や端末接続のための端末回線を次のように指定します。 kermit −l /dev/ttyi5
外部通信回線を使用する場合、リモートシステムとうまく通信するために、 さらに付加的なオプションを指定する必要があります。
−b n ボーレート — −l で指定した外部通信線のボーレートを次のように指定します。 kermit −l /dev/ttyi5 −b 9600
−l オプションを指定する場合には、常にこのオプションを指定する必要があります。 その外部通信回線が望み通りのボーレートを持つとは限らないからです。
−p x パリティ — e、 o、 m、 s、 n (偶数、奇数、マーク、スペース、なし)。 パリティがある場合、8 ビットバイナリデータ転送には、相手の kermit の合意のうえで第 8 ビット拡張機能が用いられます。 デフォルトはパリティなしです。
−t XON をハンドシェイクキャラクタとして切り替えを行う、 半二重通信を指定します。
次に解説するコマンドは、ローカルモードの kermit (デフォルトでローカルモードであるか、 −l オプションによりローカルモードにされた kermit ) に対してのみ使用できます。
−g rfn 指定された 1 つまたは複数のファイルを送信するよう、 リモートサーバに能動的に要求します。 rfn は、リモートホストでの独自のファイル名指定です。 ‘∗’ のような特殊なシェルキャラクタが fn に含まれている場合には、次のようにそれを囲む必要があります。 kermit −g x\∗.\?
−f ‘finish’ コマンドをリモートサーバに送ります。
−c プロトコル処理を開始する前に、 デフォルトまたは指定された通信回線と端末接続を行います。 エスケープキャラクタ (通常、CTRL-\) と文字 ‘c’ を入力することにより ローカルシステムに戻ります。
−n −c と同じ動作をしますが、プロトコル処理実行後に行います。 −c と −n は、1 つのコマンドに同時に指定することができます。 −n と −c の使用例を以下に示します。
タイムシェアリングシステムにおいては、相手の kermit がリモートシステムにある場合、 −l と −b と同時に −r、 または −k、 −s オプションを指定する必要があります。
kermit がローカルモードである場合、画面 (標準出力) に はファイル転送の進行状況が表示され続けます。 データパケット 4 つ毎に 1 つのドット、その他のパケットはパケットの種類 (例えば Send-Init は ‘S’)、タイムアウト発生は ‘T’、再転送は ‘%’ が それぞれ表示されます。 また、ファイル転送の途中いくつかの "割り込み" コマンドを (標準入力に) 入力することができます。
CTRL−F:現在のファイルを中断し、(もしあれば) 次のファイルに移す
CTRL−B:ファイルのバッチ処理を全て中断し、処理を終了する
CTRL−R:現在のパケットを再送する
CTRL−A:現在の処理についての情報を表示する
UNIX シェルの割り込みキャラクタとの競合を避けるため、 これらの割り込みキャラクタは kermit の別のインプリメンテーションで使用されているものとは異なっています。 System III および System V 版 UNIX では、 割り込みコマンドの先頭にエスケープキャラクタ (例えば、CTRL−\) を 付ける必要があります。
他のいくつかのコマンドラインオプションを以下に示します。
−i なんの変更も加えずに、ファイルを "そのまま" 送受信することを指定します。 このオプションはバイナリファイルを転送する場合に必要となります。 また、UNIX から UNIX へのテキストファイル転送において、 CRLF/newline 変換の抑制による転送効率のわずかな改善に利用することもできます。
−w ライトプロテクト — 受信したファイルによるファイル名競合を防ぎます。
−q 沈黙モード — ファイル転送の間の画面表示を抑制します。 例えば、バックグラウンドでファイル転送を行う場合に用います。
−d デバッグ — カレントディレクトリのファイル debug.log に デバッグ情報を書き込みます。 プログラムがうまく動作しないと思われるときには、 このオプションを指定し、作成されたログを近くの kermit 管理者に見せてください。
−h ヘルプ — コマンドラインオプションの簡単な解説を表示します。
コマンドラインには、1 つ以上のプロトコル操作オプションを指定してはいけません。
対話モードでの操作
kermit 対話モードのコマンドプロンプトは "C-Kermit>" です。 このプロンプトに対し、任意の有効なコマンドを入力することができます。 kermit はそのコマンドを実行し、プロンプトを出力して次のコマンドを待ちます。 この過程はプログラムに終了命令を与えるまで繰り返されます。
コマンドはキーワードで始まります。 キーワードは通常、"send" のような英語の動詞となっています。 全てのキーワードは、その状況下で有効なキーワードを互いに区別できる だけの文字列まで短縮することができます。 よく使用されるキーワードのいくつかは、 一意ではない特別な短縮形を使えるようになっています (例えば、"s" を "send" の代わりに、"r" を "receive" の代わりに、 "c" を "connect" の代わりに入力できます)。
いくつかの文字は対話モードで特別な機能を持っています。
? コマンドの任意の時点で入力される疑問符は、 その時点で可能なこと、期待されることを解説するメッセージを出力します。 状況に応じ、メッセージは短い文章、 キーワードのメニューあるいはファイルのリストとなります。
ESC (Escape または Altmode キー) — カレントのキーワード またはファイル名の完成、またはデフォルト値の適用を要求します。 要求が不可能な場合にはビープ音を鳴らします。
DEL (Delete または Rubout キー) — コマンドから最後のキャラクタを削除します。 BS (バックスペース、CTRL−H) を用いることもできます。
^W (CTRL−W) — コマンドラインから、一番右の単語を削除します。
^U (CTRL−U) — コマンド全体を削除します。
^R (CTRL−R) — カレントのコマンドを再表示します。
SP (スペース) — コマンド内でフィールド (キーワード、ファイル名、数) を 区切ります。HT (水平タブ) を用いることもできます。
CR (キャリッジリターン) — コマンドを入力し、実行させます。 LF (ラインフィード) または FF (フォームフィード) を用いることもできます。
\ (バックスラッシュ) — 続く任意のキャラクタを 文字通りにコマンドに入力します。 バックスラッシュ自身を入力するには、 2 つのバックスラッシュを続けて入力します (\\)。 1 つのバックスラッシュにキャリッジリターンを続けると、 コマンドを次の行に継続させることができます。
編集キャラクタ (DEL、^W など) を連続して入力することにより、 プロンプトの位置まで削除を行うことができます。 キャリッジリターン、ラインフィード、フォームフィードを打ち込んで コマンドを入力するまで、処理は開始されません。 入力を誤ったら、エラー情報と、新しいプロンプトが表示されます。 ‘?’ と ESC を活用して、正しいコマンドを見つけてください。 最も重要なコマンドは "help" です。 初めて kermit を実行するときに使用することになるでしょう。
対話モードの kermit は、キーボードからだけではなく、 ファイルからもコマンドを受け取ることができます。 対話モードに入ると、 kermit はホームディレクトリまたはカレントディレクトリ内の ファイル .kermrc を探し (まずホームディレクトリ、 次にカレントディレクトリを探します)、 その中のコマンドを実行します。 ファイル内のコマンドは、UNIX のコマンドライン形式のコマンドではなく、 対話モード形式のコマンドでなくてはなりません。 また、対話モードの任意の時点で "take" コマンドを用いることもできます。 コマンドファイルは、常識的な深さまでネストさせることができます。
kermit 対話モードコマンドの簡単なリストを次に示します。
! UNIX のシェルコマンドを実行します。
bye リモート kermit サーバを終了し、ログアウトします。
close ログファイルをクローズします。
connect リモートシステムとの端末接続を行います。
cwd 作業ディレクトリを変更します。
dial 電話番号をダイアルします。
directory ディレクトリのリストを表示します。
echo 引数をそのまま表示します。
exit ログを全てクローズして、プログラムから抜けます。
finish リモート kermit サーバを終了させますが、ログアウトはしません。
get リモート kermit サーバからファイルを受け取ります。
help 指定されたコマンドに関するヘルプメッセージを表示します。
log デバッグ用、パケット用、セッション用または処理用のログファイルをオープンします。
quit ‘exit’ と同じです。
receive ファイルを受け取るのを受動的に待ちます。
remote リモート kermit サーバにファイル管理コマンドを発行します。
script リモートシステムに対しログインスクリプトを実行します。
send ファイルを送信します。
server サーバ操作を開始します。
set いろいろなパラメータを設定します。
show ‘set’ パラメータの値を表示します。
space 現在のディスク容量を表示します。
statistics 直前に行われた処理の統計を表示します。
take ファイルからのコマンドを実行します。
‘set’ パラメータには以下のものがあります。
block-check パケットエラー検出レベルです。
delay 最初のパケット送出前の待ち時間です。
duplex ‘connect’ 時にどちら側が応答するかを指定します。
escape-character ‘connect’ 時、"escape commands" に付ける接頭キャラクタです。
file いろいろなファイルパラメータを設定します。
flow-control 通信回線全二重フローコントロールを行います。
handshake 通信回線半二重切り替えキャラクタです。
line 通信回線デバイス名です。
modem-dialer 通信回線上のモデム/ダイアラーの種類です。
parity 通信回線のキャラクタパリティです。
prompt kermit プログラムのプロンプトを変更します。
receive 受信パケット用のさまざまなパラメータを設定します。
send 送信パケット用のさまざまなパラメータを設定します。
speed 通信回線の早さです。
‘remote’ コマンドには次のものがあります。
cwd リモートシステムの作業ディレクトリを変更します。
delete リモートシステムのファイルを削除します。
directory リモートシステム上のファイル名リストを表示します。
help リモートサーバにヘルプを要求します。
host リモートホストに対し、その独自のコマンド言語でコマンドを発行します。
space リモートシステムのカレントディスクスペース使用量を表示します。
type リモートシステムのファイルを画面上に表示します。
who ログインしている人を調べたり、特定ユーザの情報を表示します。
関連ファイル
$HOME/.kermrc kermit 初期化コマンド
./.kermrc これも Kermit 初期化コマンド
関連事項
cu(1C), uucp(1C)
Frank da Cruz and Bill Catchings, Kermit User’s Guide, Columbia University, 6th Edition
診断
kermit から出される診断は明白なものです。
バグ
バグのリストについては、(ARPANET または Usenet 上の) 最新の Info-Kermit ダイジェストまたはファイル ckuker.bwr を参照してください。
NEWS-OSRelease 4.2.1R