名称
cu ― 別の (UNIX) システムの呼び出し (ターミナルエミュレータ)
構文
cu [-s speed] [-l line] [-h] [-q]
[-t] [-d level] [-e|-o]
[-m] [-n] [telno |systemname |dir]
XPG4
構文:
cu [-s speed] [-l line] [-h] [-q]
[-t] [-d] [-e|-o]
[-m] [-n] [telno |systemname |dir]
説明
cu は別のシステムを呼び出します。これは通常
UNIX オペレーティングシステムですが、ターミナル、または UNIX 以外のオペレーティングシステムのこともあります。 cu は、
ASCII ファイルの転送を含めて、システム間の対話処理をすべて行います。
オプション
cu は次のオプションとコマンド行引き数を認識します。
| -sspeed | | 転送スピード (110、150、300、600、1200、2400、3600、4800、7200、9600、19200) を指定します。デフォルト値は 300 です。 |
| -lline | | 通信回線として使用する装置名を指定します。 これを使用すると、指定したスピードで使用できる回線を検索しなくなります。 -s オプションを付けないで -l オプションを使用すると、回線のスピードはファイル /etc/uucp/Devices から得られます。 -l および -s オプションを同時に使用すると、 cu は、 /etc/uucp/Devices を検索し、要求した回線の要求したスピードが利用可能かどうかを判定します。 利用可能ならば、要求したスピードで接続されます。利用可能でなければ、エラーメッセージが出力され、呼び出しは行われません。
指定した装置は、通常は ( /dev/ttyapb などの) 直結の非同期回線です。
この場合、電話番号は不要であり、引き数の文字列 dir を使用してダイヤルが不要であることを指定できます。
指定した装置が自動ダイヤルに対応している場合には、電話番号が必要です。 |
| -h | | ローカルエコーをエミュレートし、半二重モードに設定したターミナルが必要な他のコンピュータシステムへの呼び出しをサポートします。 |
| -q | | ENQ/ACK ハンドシェークを使用します (リモートシステムは
ENQ を送信し、 cu は ACK を送信します)。 |
| -t | | 自動応答に設定されている ASCII ターミナルにダイヤルする際に使用します。
キャリッジリターンからキャリッジリターンとラインフィードのペアへの適切なマッピングが設定されます。 |
| -dlevel | | 診断トレースをプリントします。 level は 0〜9 の数値です。 この場合、数値が大きくなるほど levels はより詳細な診断メッセージを生成します。 |
| -d | | (XPG4 の場合のみ) 診断トレースを印刷します。レベルは常に
9 となります。 |
| -e (-o) | | リモートシステムに送られるデータの偶数 (奇数) パリティを生成します。 |
| -m | | モデム制御がある直接回線を指定します。 モデム制御は、 cu から無視されます。 |
| -n | | cu がダイアルする電話番号を、コマンド行から取るのではなく、ユーザーから対話的に入力するように要求されます。 |
| telno | | 自動ダイヤルを使用する際、 telno は電話番号で、2 次発信音については等号を telno 文字列にマイナス記号を付けると適切に遅延されます。 |
| systemname | | UUCP システム名が電話番号の代わりに使用できます ( uucp(1) を参照)。 この場合、 cu は、 /etc/uucp/Systems で (適切なボーレートを含めて) 適切な直接回線または電話番号を調べます。 cu は、
接続されるか、またはすべてのエントリーが試されるまで、 Systems ファイルの systemname に対して各電話番号または直接回線にダイヤルします。 |
| dir | | dir を使用すると、 cu が -l オプションによって指定された回線を使用するようにできます。 |
接続後、 cu は次の 2 つのプロセスとして動作します。
transmit プロセスは、標準入力からデータを読み取り、 ~ で始まる行を除いて、リモートシステムに渡します。
receive プロセスは、リモートシステムからデータを受け取り、 ~ で始まる行を除いて、標準出力に渡します。
バッファがオーバランしないようにするために、通常は自動 DC3/DC1
プロトコルをリモートシステムからの入力の制御に使用します。 「プロンプト
ハンドシェーキング」 を使用すると、先行入力機能のないシステムへの
ASCII ファイルの転送を制御できますが、プロンプトが得られた後に限ってデータを送信する必要があります。このことについては、以下に詳しく説明します。 ~ で始まる行には特殊な意味があります。
送信プロセスコマンド
transmit プロセスは次のコマンドを解釈します。
| ~., ~.. | | 通信を終了させます。 ハードワイヤ接続された回線では、 ~. は
EOF 文字をいくつか送信してセッションをログアウトします。一方、 ~.. は
EOF シーケンスを出さないようにします。 一般に、 ~.. を使用すると、リモートのハードワイヤ接続マシンは切断を認識しません。
電話回線の接続では、 ~. および ~.. は同じです。 |
| ~! | | ローカルシステムの対話型シェルに抜けます。 |
| ~!cmd ... | | ローカルシステムで ( sh -c 経由で) cmd を実行します。 |
| ~& | | ~! と同じですが、受信プロセスを抹消し、シェルからの戻り時に再起動します。
これは、受信プロセスが入力と競合する場合に通信回線から読み出すサブプロセスを呼び出すのに便利です。 |
| ~&cmd ... | | ローカルシステムで ( sh -c 経由で) cmd を実行し、受信プロセスを抹消し、後に再起動します。 |
| ~|cmd | | 標準入力を通じてリモートシステムからの着信データをローカルシステム上の cmd にパイプ接続します。 終了するには、 ~& または ~| コマンドのどちらかでリセットします。 |
| ~| | | ~|cmd コマンド後の受信プロセスをリセットします。 |
| ~$cmd ... | | cmd をローカルに実行し、その出力をリモートシステムに送信します。 |
| ~%cd | | ローカルシステムのディレクトリを変更します。 注記: ~!cd では、コマンドはサブシェルによって実行され、完了時に現在のディレクトリに戻されます。 |
| ~%take remote_source_file [local_destination_file] |
| | | リモートシステム上のファイル remote_source_file からローカルシステム上のファイル local_destination_file にコピーします。 local_destination_file を指定しなければ、 remote_source_file が両方の引き数位置に使用されます。 |
| ~%put local_source_file [remote_destination_file] |
| | | ローカルシステム上のファイル local_source_file をリモートシステム上のファイル remote_destination_file にコピーします。 remote_destination_file を指定しなければ、 local_source_file が両方の引き数位置で使用されます。 |
| ~~ ... | | 行 ~ ... をリモートシステムに送信します。
リモートシステム上で cu を使用して第 3 のリモートシステムにアクセスする場合には、 ~~. を送信して第 2 のリモート cu を終了します。 |
| ~%break | | BREAK をリモートシステムに送信します。 |
| ~%nostop | | DC3/DC 1 入力制御プロトコルと入力制御のないプロトコルを切換えます。
これは、リモートシステムが、 DC3 および DC1 文字に適切に応答しない場合に便利です。 |
| ~%<file | | prompt handshaking を使ってローカルファイルの内容をリモートシステムに送信します。
指定したファイルは、一度に 1 行ずつ読み取られ、 prompt sequence が受信されると各行はリモートシステムに送られます。 prompt timeout が発生するまでにプロンプトが受信されなくても、行は送信されます。
タイムアウトが 0 秒に設定されているか、またはプロンプトシーケンスの最初の文字がヌル文字 (^@) の場合、リモートシステムがプロンプトを生成するかどうかとは関係なく、いつでもハンドシェークは即座に満たされるように見えます。 この機能は、
HP-UX から MPE を実行する HP 3000 システムへの、 ASCII ファイルの転送を容易にすることを主な目的としています。
これは、 MPE FCOPY ユーティリティと、 コマンド from=;to=destfile;new を実行し、次に cu 入力の分岐を実行して、 destfile にファイルをセーブする FCOPY にファイルを送信することによって行われます。
この機能は RTE を実行する HP 1000 などの他のシステムでも有効な場合があります。 |
| ~%setpt n | | 中止する前に、プロンプトまでの待ち秒数を指定します。
デフォルトは 2 秒です。 0 秒のタイムアウトを指定すると、ハンドシェークが使えなくなります。
つまり、ハンドシェークはほとんどすぐに完了します。 |
| ~%setps xy | | ハンドシェークプロンプトを文字 xy に設定します。 デフォルトは DC1 です。 このプロンプトは、任意の 1 文字または 2 文字です。 x または y に制御文字を指定するには、脱字符号 ( ASCII 94) が ^X の場合のように文字の前にある場合には Ctrl-X 形式を使用します。
ヌル文字は^@ で指定できます (プロンプトにおける最初のヌル文字は、「ヌル」プロンプトを意味し、常に満たされたものとして表われます)。
脱字符号は ^^ によって指定されます。 |
| ~%>[>]file | | 次の ~%> コマンドまでの出力をリモートシステムから指定したファイルに分岐します。
出力分岐したままで、 ~%> とタイプすると、分岐終了できます。一方、 ~%> anotherfile とタイプすると、それまでの変更を終了して新しいファイルへの出力を開始します。
出力抜き出しは、 ~& サブシェルを通じてアクティブなままなので、入出力抜き出しが ~%take または ~%put と同時に実行されると、予測できない結果が発生することがあります。 ~%>> コマンドは、指定ファイルに追加します。 transmit プロセスによって解釈されるこれらのコマンドと、以下に説明のある、受信プロセスによって解釈される ~> コマンドとは無関係なので注意してください。 |
| ~susp | | cu セッションを停止します。 susp は、 cu が呼び出されたときに、終端に設定される停止文字です (通常は ^Z ― stty(1) を参照)。 ティルドから始まる他の行と同様に ~susp 行は Return を押して終了させます。 |
受信プロセス
receive プロセスは通常、リモートシステムから、その標準出力にデータをコピーします。
リモートシステムから送られた ~> で始まる行によって
ファイルに対する出力の分岐を開始します。 完全なシーケンスは次のとおりです。
~>[>]:file
file に書き出されるゼロ以上の行
~>
リモートシステムからのデータを、 file に分岐します ( >> を使用すると、追加されます)。
後に ~> を付けると、終了します。
~%put を使用するには、リモートシステム側に stty(1) および cat(1) が必要です。 また、リモートシステム上の現在の消去および抹消文字が、ローカルシステム上の現在の消去および抹消文字と同じであることも必要です。
バックスラッシュは、適切な位置に挿入します。
~%take を使用するには、リモートシステムが echo および cat コマンドをサポートしている必要があります ( echo(1) および cat(1) を参照)。 また、タブが拡張なしでコピーされる場合には、 stty tabs モードを、リモートシステムに設定する必要があります。
8 ビット目をパリティビットとして使用するマシンに接続する場合は、 stty istrip モードを、ローカルシステムに設定するようにしてください。
cu を、システム X で使用してシステム Y に接続し、続いてシステム Y で使用してシステム Z に接続する場合、 ~~ を使用するとシステム Y 上のコマンドを実行できます。例えば、システム X 上のキーボードを使用すると、 uname は、次のように Z、X、および Y 上で実行できます。ただし、行 1、3、および 5 はキーボードコマンドであり、行 2、4、および 6 はシステムの応答です。
uname
Z
~!uname
X
~~!uname
Y
一般に、 ~ により、コマンドはオリジナルのマシン上で実行されます。 ~~ により、コマンドは接続されている次のマシン上で実行されます。
多言語化対応
環境変数
LANG により、メッセージの表示に使用する言語を決定します。
LANG が指定されていなかったり、空の文字列の場合には、デフォルトの
"C" ( lang(5) 参照) が LANG の値として使われます。
多言語対応変数のどれかの設定が不適当な場合には、 cu は、すべての多言語対応変数が
"C" に設定されているものとして動作します。 environ(5) を参照してください。
サポートされるコードセット
シングル/マルチバイトの文字コードセットがサポートされています。
診断
終了コードは、通常の終了の場合にはゼロ、それ以外の場合にはゼロ以外の値 (各種の値) になります。
例
1200 ボーで電話番号が 9 201 555 1212 であるシステムに電話をかけるには、次のように指定します。
スピードを指定しなければ、300 がデフォルト値です。
直接回線で接続されたシステムにログインするには、次のように指定します。
特定の回線および特定のスピードで、システムに電話をかけるには、次のように指定します。
cu -s1200 -l/dev/ttyXpX dir
特定の回線を使って、システムに電話をかけるには、次のように指定します。
cu -l/dev/culXpX 2015551212
システム名 (yyyzzz) を使用するには、次のように指定します。
モデムに直結するには、次のように指定します。
cu -l/dev/culXX -m dir cu -l/dev/cu1XX -m dir
著者
cu は、AT&T および HP で開発されました。
ファイル
/etc/uucp/Systems
/etc/uucp/Devices
/etc/uucp/Dialers
/var/spool/locks/LCK..(tty-device)
/dev/null
参照
cat(1), ct(1), echo(1), stty(1), uname(1), uucp(1), uuname(1)
標準準拠
cu: SVID2, SVID3, XPG2, XPG3, XPG4