Unix/Linux システムの /dev ディレクトリの ls -l 出力

Unix/Linux システムの /dev ディレクトリの ls -l 出力

/dev ディレクトリには、デバイス ドライバーを指すデバイス ファイルが含まれていると読みました。

さて、私の質問は、ls -lを実行すると、次のような出力が得られるということです。 ここに画像の説明を入力してください

この 5 列目と 6 列目の値は何を表し、どのような意味を持つのでしょうか?

答え1

これらはメジャー番号とマイナー番号です。詳細については、こちらをご覧ください。 http://www.makelinux.net/ldd3/chp-3-sect-2.shtml

従来、メジャー番号はデバイスに関連付けられたドライバーを識別します。たとえば、/dev/null と /dev/zero は両方ともドライバー 1 によって管理されますが、仮想コンソールとシリアル端末はドライバー 4 によって管理されます。同様に、vcs1 デバイスと vcsa1 デバイスは両方ともドライバー 7 によって管理されます。最新の Linux カーネルでは、複数のドライバーがメジャー番号を共有できますが、ほとんどのデバイスは依然として 1 つのメジャーと 1 つのドライバーという原則に基づいて構成されています。

マイナー番号は、参照されているデバイスを正確に特定するためにカーネルによって使用されます。ドライバーの記述方法に応じて (以下で説明します)、カーネルからデバイスへの直接ポインターを取得するか、マイナー番号をデバイスのローカル配列のインデックスとして自分で使用できます。いずれの場合も、カーネル自体は、マイナー番号がドライバーによって実装されたデバイスを参照するという事実以外、マイナー番号についてほとんど何も知りません。

答え2

@Daemon が述べたように、これらはメジャー番号とマイナー番号です。メジャー番号は特定の種類のデバイスに共通です。

たとえば、以下を実行します。

ls -l /dev | grep -P "tty\d$"

生産:

crw--w----  1 root tty     4,   0 May 26 23:41 tty0
crw--w----  1 root tty     4,   1 May 26 23:41 tty1
crw--w----  1 root tty     4,   2 May 26 23:41 tty2
crw--w----  1 root tty     4,   3 May 26 23:41 tty3
crw--w----  1 root tty     4,   4 May 26 23:41 tty4
crw--w----  1 root tty     4,   5 May 26 23:41 tty5
crw--w----  1 root tty     4,   6 May 26 23:41 tty6
crw--w----  1 root tty     4,   7 May 26 23:41 tty7
crw--w----  1 root tty     4,   8 May 26 23:41 tty8
crw--w----  1 root tty     4,   9 May 26 23:41 tty9

これらはすべてメジャー番号を共有します4が、マイナー番号は異なります。

関連情報