UNIX/Linuxの部屋 コマンド:tty

TOP UNIX/Linuxの部屋 UNIX/Linuxコマンド一覧 用語集 新版 由来/読み方辞書 環境変数マニュアル Cシェル変数 システム設定ファイル システムコール・ライブラリ ネットワークプログラミングの基礎知識 クラウドサービス徹底比較・徹底解説




コマンド tty 現在割り当てられている端末デバイス名を表示する このエントリーをはてなブックマークに追加

最終更新


tty コマンドは、現在標準入力に割り当てられている端末デバイス名を表示するコマンドである。POSIX で規定されているため、すべての UNIX/Linux で使用可能である。Linux では tty コマンドは coreutils パッケージに含まれている。



tty コマンドの基本的な使い方
tty コマンドは、引数なしで実行すると現在標準入力に割り当てられている端末デバイス名を表示する。

ssh 等でリモートから接続した状態や、xterm 等で X 経由で使用している場合、tty コマンドを実行すると下記のように疑似端末デバイス名が表示されるだろう。
% tty
/dev/pts/0

マシンに直接ログインした場合、下記のように Pseudo でない tty が割り当てられるだろう。Alt-F1, Alt-F2 などで複数 tty を切り替えると /dev/tty1・tty2 などが割り当てられるだろう。
% tty
/dev/tty0

シリアル経由でログインした場合、下記のようにシリアル端末用 tty が割り当てられるかもしれない。
% tty
/dev/ttyd0
→ FreeBSD の場合
% tty
/dev/ttyS0
→ Linux の場合

cron 経由で tty コマンドを実行した場合、端末が割り当てられていないため、tty コマンドはエラーになるのかもしれない (未確認)。

tty -s
tty コマンドに -s オプションをつけると、デバイス名を表示するのではなく、端末があれば終了ステータス 0、端末がなければ終了ステータス 1以上となる。よって、シェルスクリプトにおいて、下記のように判別可能である。
tty -s
ret=$?
if [ $? == 0 ]; then
端末あり
else
端末なし
fi

tty の小ネタ
root 権限を持っているか、あるいは自分自身の別コンソール宛であれば、下記のようにデバイスに直接出力することで、相手または別端末にメッセージを送信することができる。
% echo hoge > /dev/pty1
これを発展させたのが、wall・mesg・write・talk コマンドなどである。

読み方について。
>> Linuxオンラインマニュアル(man) Linux tty(4)
>> Linuxオンラインマニュアル(man) Linux tty(1)
>> Solaris10オンラインマニュアル(man) Solaris10 tty(1)
>> FreeBSDオンラインマニュアル(man) FreeBSD tty(1)

読み方 tty (デバイス名) [てぃー・てぃー・わい] [てぃてぃい] このエントリーをはてなブックマークに追加

TeleTYpeの略。ちなみにアメリカではTeletype社のトレードマークである。日本ではどうだか知らない。