TIP(1)

名称
tip - リモートシステムとの接続を行なう

書式
tip [-v] -speed system-name tip [-v] -speed phone-number

解説
tip は、他のマシンとの間に全二重のコネクションを確立し、 リモートマシンへ直接ログインしてみせます。 言うまでもないことですが、コネクションを張りたいマシンに対しては、 ログインアカウント (かそれに相当するもの) がなければなりません。

以下のオプションが使用可能です:

-v  冗長モードを設定します。

入力された文字は通常は直接リモートマシンに転送されます (それは同様にエコーされます)。 行頭にチルダ文字 (`~') が入力された場合には、これはエスケープ文字として 働きます; 以下の組み合わせが認識されます:

~^D または ~.
    コネクションを切断し、プログラムを終了します (リモートマシンにはログインしたままでいることもできます)。

~c [name]
    ローカルのカレントディレクトリを name で指定したものに変更します (引数が指定されない場合には、ホームディレクトリに移動します)。

~!  シェルを起動します (シェルを終了すると、tip に戻ります)。

~>  ローカルマシンのファイルをリモートマシンにコピーします。 tip は、ローカルファイル名の入力プロンプトを出します。

~<  リモートシステムのファイルをローカルマシンに転送します。 tip は、まず転送されるファイル名の入力プロンプトを出し、 それからリモートマシンで実行するコマンドのプロンプトを出します。

~p from [to]
    リモートの UNIX ホストにファイルを送ります。put コマンドは tip が ``from'' ファイルを送っている間、リモートの UNIX システム上で ``cat > 'to''' コマンドを実行します。 ``to'' ファイル名が指定されない場合には、 このファイル名には ``from'' ファイル名を使用します。 このコマンドは、実際には ``~>''コマンドを UNIX システムに特定して実装したバージョンです。

~t from [to]
    リモートの UNIX ホストからファイルを受信します。put コマンドと同じく、``to'' ファイル名 が指定されない場合には、このファイル名は ``from'' ファイル名と同じになります。 リモートホストでは tip にファイル転送を行なうために ``cat 'from';echo ^A'' を実行します。

~|  リモートコマンドからの出力を、ローカル UNIX プロセスへパイプを用いてリダイレクトします。 ローカル UNIX システムに送られるコマンド文字列は、シェルで処理されます。

~$  ローカル UNIX プロセスからパイプを介してリモートホストへ出力します。 ローカル UNIX システムに送られるコマンド文字列は、シェルで処理されます。

~C  ローカルシステム上で XMODEM などの特別なプロトコルを扱うための 子プロセスを起動します。この子プロセスは特別に用意された、次のような ファイル記述子を用いて動作します。
        0 <-> 自側 tty 入力
        1 <-> 自側 tty 出力
        2 <-> 自側 tty 出力
        3 <-> 相手側 tty 入力
        4 <-> 相手側 tty 出力

~#  BREAK 信号をリモートホストに送信します。 必要な ioctl システムコールをサポートしていないシステムの場合には、回線速度の 変更と DEL 文字の組み合わせでブレイクをシミュレートします。

~s  変数をセットします (以下の記述を参照してください)。

~^Z tip を停止します (システムがジョブコントロールをサポートしている場合にのみ使用可能です)。

~^Y ローカル側の tip のみ停止します (システムがジョブコントロールをサポートしている場合にのみ使用可能です); tip の ``リモート側'' すなわちリモートホストの表示出力については引続き走行します。

~?  チルダエスケープで使用できるコマンド一覧を表示します。

tip は、 /etc/remote ファイルを用いて特定システムへの接続方法を検索し、他システムと 接続する際のパラメータを特定します; /etc/remote ファイルの完全な記述は remote(5) を参照してください。 各システムは、コネクションを確立する際にデフォルトの通信速度が決められて います。この通信速度が適当でない場合には、コマンドラインにて通信速度を 指定することができます。例えば ‘tip -300 mds’ です。

tip がコネクションを確立すると、リモートホストにコネクションメッセージを 送信します; デフォルトのメッセージが存在するならば /etc/remote に定義されています ( remote(5) を参照してください)。

tip に引数の入力を促されている場合 (例えば、ファイル転送の設定の間) には、入力された行は標準の erase や kill 文字で編集することが許されています。 入力を促されている時に空行を入力したり操作を中断 した場合には、入力を促す画面から抜け出し、リモートマシンとの対話に戻ります。

tip は、モデムや回線の排他制御や uucico(8) で採用されているロックプロトコルを用いることで、複数のユーザが リモートシステムへ接続することを制限しています。

ファイル転送時には tip は転送した行数を表示します。 ~> や ~< コマンドを使用した場合には、``eofread'' 変数や ``eofwrite'' 変数は、ファイル読み込時の end-of-file 文字の認識や、ファイル書き込み時 の end-of-file 文字の指定に用いられます (後述)。ファイル転送時のフロー制御は、 通常は tandem モードで行なわれます。リモートシステムが tandem モードをサポートしない場合には、``echocheck'' が設定され、 tip が相手に転送した文字のエコーを用いてリモートシステムと同期します。

tip が他システムとの接続のために電話をかける場合には、 動作を示すさまざまな表示を行ないます。 tip は AT コマンドセットを使用するモデムをサポートします。 tip は特定のモデムを制御する方法を /etc/modems ファイルから見つけ出します; 完全な記述は modems(5) を参照してください。

  変数
tip は、自己を制御するために、 変数 を取り扱います。 いくつかの変数は、一般ユーザの権限では参照のみで変更することはできません (スーパユーザのみ、これらの変数の変更が許可されています)。変数は、 ``s'' エスケープにて、参照および変更が可能です。変数設定の書式は、 vi(1) や Mail(1) での変数設定の書式と同様です。コマンドの引数に ``all'' を指定することで、 ユーザが読み出し可能なすべての変数を表示することができます。また、ユーザは 特定の変数について、変数名の最後に `?' を付加することにより、 その値を表示することができます。 例えば ``escape?'' とすることで、現在のエスケープ文字を表示します。

変数値として採用されるものは、数値、文字列、文字、もしくは論理値です。 論理変数の設定については、単に変数名を設定するだけで設定されます; これらは、変数名の前に `!' 文字をつけることにより偽に設定 されます。他の変数型については、変数と値の間を `=' でつなぐことで設定 できます。すべての設定について、その指定中に空白を入れてはいけません。 単独の set コマンドは、変数の値を設定するだけでなく、変数の値を知るため にも用いられます。 変数は実行時に set コマンドを実行することで初期化されます ( ホームディレクトリの .tiprc ファイル中で、``~s'' プレフィックスがない場合です)。 -v オプションを指定することで、 tip が初期化時に行なった設定を表示します。 確実に共通変数と思われるものについては、略号表記されます。 以下に共通変数およびその略号と、デフォルトの値の一覧を示します。

beautify
    (論理値) セッション確立時に受けとった表示不可の文字については無視します; be と略号表記されます。

baudrate
    (数値) コネクション確立時の通信速度を指定します; ba と略号表記されます。

chardelay
    (数値) 各文字の送信後に待つミリ秒数を指定します; cdelay と略号表記されます。

dialtimeout
    (数値) 相手先に電話をかける際に、コネクション確立までの待ち時間 (秒単位) を 指定します; dial と略号表記されます。

echocheck
    (論理値) ファイル転送時のリモートホストとの同期を、 送信された最後の文字のエコーを待つことで取ります; 本変数のデフォルト値は off です。

eofread
    (文字列) ~< コマンドを用いてファイル転送した場合に、 転送終了を示す文字群です; eofr と略号表記されます。

eofwrite
    (文字列) ~> コマンドを用いてファイル転送した場合に、 転送終了を示すために送る文字列です; eofw と略号表記されます。

eol (文字列) 行末を示す文字群です。 tip は行末文字の直後に現れたエスケープ文字のみ、エスケープ文字として認識します。

escape
    (文字) コマンドプレフィックス (エスケープ) 文字です; es と略号表記されます; 本変数のデフォルト値は `~' です。

exceptions
    (文字列) beautification の指定で無視されない文字群を指定します; ex と略号表記されます; 本変数のデフォルト値は ``\t\n\f\b'' です。

force
    (文字) リテラルデータ送信を強制する文字です; fo と略号表記されます; 本変数のデフォルト値は`^P'です。

framesize
    (数値) ファイルを受信した場合に、ファイルシステムとの間にあるバッファに バッファリングするデータ量 (バイト単位) です; fr と略号表記されます。

host
    (文字列) 接続しているホスト名です; ho と略号表記されます。

linedelay
    (数値) 各行の送信後に待つミリ秒数を指定します; ldelay と略号表記されます。

login
    (文字列) 接続直後に実行されるログインシェルスクリプトのパス名です; 標準入出力はリモートホストへリダイレクトされます。 パス名の先頭のチルダ文字は展開されます; li と略号表記されます。

logout
    (文字列) 切断直前に実行されるシェルスクリプトのパス名です; 標準入出力はリモートホストへリダイレクトされます。 パス名の先頭のチルダ文字は展開されます; lo と略号表記されます。

prompt
    (文字) リモートホストの行末文字です; pr と略号表記されます; 本変数のデフォルト値は `\n' です。本変数は、データ転送時の同期を取るのに 用いられます。ファイル転送時に行なう転送行のカウントは、この文字を いくつ受けとったかということに基づきます。

raise
    (論理値) 大文字に変換するモードです; ra と略号表記されます; 本変数のデフォルト値は off です。 本モードが有効になると、すべての小文字の文字列は、リモートホストへの転送時に tip によって大文字に変更されます。

raisechar
    (文字) 大文字へ変換するモードの切り替えを行なう入力文字です; rc と略号表記されます; 本変数のデフォルト値は `^A' です。

record
    (文字列) セッションの記録を取るファイル名です; rec と略号表記されます; 本変数のデフォルト値は ``tip.record'' です。

script
    (論理値) セッションの記録を取るモードです; sc と略号表記されます; 本変数のデフォルト値は off です。 script が true の場合には、 tip はリモートホストから転送されたすべてのデータを record に指定されたファイルに記録します。 beautify スイッチが有効になっている場合には、表示可能な ASCII 文字 (文字コードに換算して 040 から 0177 までの間) についてのみ記録されます。 beautification 規則の例外を指定する exceptions 変数による設定も有効となります。

tabexpand
    (論理値) ファイル転送時にタブ文字を空白文字に展開するモードです; tab と略号表記されます。 本変数のデフォルト値は false です。 本モードが有効になっている場合には、タブ文字は空白文字 8 つに展開されます。

verbose
    (論理値) 冗長モードです; verb と略号表記されます; 本変数のデフォルト値は true です。 冗長モードが有効になっている場合には、 tip はダイヤル時にメッセージを出力したり、ファイル転送を行なっている際の 現在の転送行数を指定したりします。

環境変数
tip は、以下の環境変数を参照します:

SHELL
    (文字列) ~! コマンド実行時に使用するシェルの名前です; デフォルト値は ``/bin/sh'' であり、環境変数に別の値が設定されている場合には、そちらの 値を参照します。

HOME
    (文字列) ~c コマンド実行時に用いるホームディレクトリです; デフォルト値は、 実行時の環境によります。

HOST
    指定がない場合のデフォルトの接続先を指定します。

変数 ${REMOTE} と ${PHONES} も、エクスポートされます。

関連ファイル
/etc/modems
    システムごとのモデム設定データベース。
/etc/remote
    システムごとのリモートシステム記述ファイル。
/etc/phones
    システムごとの電話番号データベース。 It Ev ${REMOTE} ユーザごとに持てるリモートシステム記述ファイル。
${PHONES}
    ユーザごとに持てる電話番号データベース。
~/.tiprc
    初期化ファイル。
tip.record
    記録ファイル。
/var/log/aculog
    回線アクセス記録。
/var/spool/lock/LCK..*
    uucp(1) との回線競合を避けるための回線排他制御ファイル。

診断
診断メッセージは、そのまま読んで解釈可能です。

関連項目
cu(1), remote(5), phones(5)

歴史
tip は 4.2BSD から登場しました。

バグ
すべての変数が文書化されているわけではありません。文書化されていないものは おそらく削除されるでしょう。