プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
Linux、「/dev/pts」「/dev/pts/0」とはなんぞや?
ちょっくらLinuxの基礎を学び直そうと思いましてね。
気になったことを取りとめもなく調べていくことにしました。

まず調べたのが「/dev/pts」と「/dev/pts/0」。

よく見かけるけど、何じゃらほい?というのが調べたきっかけでした。

ふむふむ(--)

「/dev/pts」は接続しているユーザのデバイスファイルが置かれるディレクトリっぽいですね。
そして「/dev/pts/0」は、接続しているユーザのデバイスファイル名の一つ。

例えばSSHとかで接続すると「/dev/pts/」配下に
「0」という名前のデバイスファイルが勝手に作られます。
このデバイスファイルが「/dev/pts/0」とか呼ばれる奴です。

この状態で2人目が接続すると/dev/pts/配下に「1」という名前デバイスファイルが作られます。
同様に3人目が接続すると「2」が、4人目は「3」が、というように
接続する人が増える度にファイル名が数字のデバイスファイルが作られていきます。

逆に接続していた人が帰っちゃうと、そのデバイスファイルは無くなりますよ。

例えば

ls /dev/pts

を実行した結果が

0 2

だったとします。
1が歯抜けになっていますね。
これは、最初は3人(0 1 2)の人が接続していたけど
2番目に接続していた人(1)は帰っちゃった場合に起こります。

ちなみに、この

0 2

の状態で新しく誰かが接続すると出来るデバイスファイルは「1」になります。

ls /dev/pts

の実行結果は

0 1 2

です。

0 2 3

のような歯抜けにはならず、空いている数字から再度割り当てていきますよ。

あと余談ですが、このデバイスファイル名を指定することで、
いろいろ面白いこともできるようです。

例えば

echo "hoge" > /dev/pts/1

というコマンドを実行すると(権限があれば)/dev/pts/1が割り当てられているユーザの端末上に
「hoge」という文字が表示されます。
イタズラとか密会向けですね(^m^)

そんな感じ(--)ノ

まとめると「/dev/pts」が接続ユーザのデバイスファイルが作成される場所で、
「/dev/pts/0」が(接続したのが1人目の場合に)作成されるデバイスファイル名です。

完了\(--)/
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:ファイル/ディレクトリ  thema:パソコンな日々 - genre:コンピュータ  Posted by ササキマコト 

  関連記事