読者です 読者をやめる 読者になる 読者になる

tumblr

tumblr(タンブラー)は、メディアミックスブログサービス。ブログとミニブログ、そしてソーシャルブックマークを統合したマイクロブログサービスである。アメリカのDavidville.inc(現: Tumblr, Inc.)により2007年3月1日にサービスが開始された。

端末の識別子 -ptsとtty-

サーバ技術


whoというコマンドを知ったので使ってみたところ、こういう出力結果に。

[shimomura@www work]$ who
shimomura ttyS0 2011-05-13 00:34
shimomura pts/0 2011-06-11 22:12 (*************.ppp-bb.dion.ne.jp)

このコマンドを試したサーバはさくらのVPSリモホが出ているほうは今このwhoコマンドを叩いてるものだと分かるが、この上のttyとかいう奴は誰だ?と思ったので覚書。

ptsとtty

よく見るとリモホがついてるほうも同じ列に「pts」というのが出ている。調べてみると速攻で答えが出てくる。

tty? はPCに直接つながっているコンソールターミナルで、Alt+1、Alt+2、Alt+3などで切り替えられますが、それがそれぞれ tty1、tty2、tty3 に対応しています。
pts/? は疑似端末で、たとえばsshで接続された時などに使われます、またxterm等の端末エミュレータを実装するのにも使われています。
[http://q.hatena.ne.jp/1206972803:title=http://q.hatena.ne.jp/1206972803]

というわけで、上のttyについてはさくらVPSの仮想サーバのシリアルポートにつないでるやつ。下のは予想通りsshのやつだと判明。

ttyを楽しむ

linuxはデバイスから何から何まで全てファイルとして抽象化して考えるため、仮想端末ももちろんファイルとして扱われる。ttyコマンドで、自分がログインしてる仮想端末のデバイスファイルを確認できる。

[shimomura@www work]$ tty
/dev/pts/0


なので、こういうことも出来る。

[shimomura@www2091ua work]$ echo aaaaaa > /dev/pts/0
aaaaaa


ちなみにwコマンドで今ログイン中のユーザーが何してるか分かるので

[shimomura@www2091ua work]$ w
00:27:09 up 55 days, 9:26, 2 users, load average: 0.02, 0.04, 0.01
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
shimomur ttyS0 - 13May11 4.00s 0.04s 0.01s login -- shimomura
shimomur pts/0 kd114016011070.p 22:12 0.00s 0.14s 0.00s w

ログイン中のユーザーの中に嫌いな奴を見つけたらデバイスファイル見つけて

[shimomura@www work]$ yes すぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせ > /dev/pts/0*1

とかってやると・・・・

すぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせ
すぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせ
すぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせ
すぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせ
すぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせ
すぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせ
すぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせ
すぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせ
すぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせ
すぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせ
すぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせ
すぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせ
すぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせ
すぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせ
すぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせ
すぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせ
すぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせ
すぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせ
すぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせ
すぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせ
すぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせ
すぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせ
すぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせ
すぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせ
すぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせ
すぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせすぐにけせ
(以下略)

ぎゃああああああああああああ
間違えて自分のttyに出力しちゃったよおおおおおおおおおおお

http://www.youtube.com/watch?v=j-TfJ9c-m1E

*1:yesコマンドはkillされるまで引数に渡された文字列を繰り返して出力する。引数ない場合はデフォルトで「y」が出力される。