◆tty(Tele-TYpewriter)
キーボードと出力です。 LinuxではPCに直接つながっているコンソールターミナルで、
Alt+1、Alt+2、Alt+3
などで端末を切り替えられますが、それがそれぞれ
tty1、tty2、tty3
に対応しています。
◆pts(pesudo-tty)
ttysの仮想化です。擬似ttyです。 たとえばsshで接続された時などに使われます。またxterm等の端末エミュレータを実装するのにも使われています。 ちなみにキーボードは標準入力です。
◆確認してみる
現在ログインしているユーザーの情報などを確認する、w、finger、who コマンドから見えるアレもttyです
$ w USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT vagrant pts/0 10.0.2.2 03:45 0.00s 0.50s 0.50s w vagrant pts/1 10.0.2.2 03:45 2:42s 0.35s 0.35s -bash
これは vagrant pts/0 vagrant pts/1 の2セッションでログインしています。 ttyとすると、現在の端末を確認でき舞う。
$ tty /dev/pts/1
sshして入ったのでttysでなくptsです。
◆echoで遊んでみる
2つターミナルを起動してメッセージを送り合ってみます。 送信側(pts/0)
$ tty /dev/pts/0
受信側(pts/1)
$ tty /dev/pts/1
送信側(pts/0)からptsを指定してechoします。
$ echo hoge > /dev/pts/1
すると受信側(pts/1)では
$ hoge
と勝手に表示されます。 いたずらで同じサーバにSSHしている人にメッセージを送ったりすると楽しいかもです。
ソース: