2017-11-02 10 views
1

私はstat structure をいじって、それを理解しようとしているが、しかし、ドキュメントのほとんどはかなり不可解で、具体的には、私は最初のメンバー、st_devフィールドの目的を理解することができない、まさに "はデバイスでありますinode "?iノードのデバイスとは何ですか?

+1

"inodeのデバイス"というフレーズはどこにありますか?リンクしたドキュメントに「ファイルを含むデバイスのデバイスID」と表示されます。 –

+1

K&Rから来た@KeithThompson – Trey

+0

はCタグの対象外です。 –

答えて

2

フィールドst_devには、このファイルをバックアップするデバイスのシステム依存番号があります。通常、ファイルが格納されているファイルシステムを含むブロックデバイスのメジャー/マイナー番号(makedev(3)と組み合わせて)です。ファイルがデバイスノードの場合は、デバイス自体のメジャー/マイナー番号です。例えば

:st_devフィールドは/etc/passwdため(Linuxの259である)makedev(1,3)、又は

を含むであろう

$ ls -la /dev/null 
crw-rw-rw- 1 root root 1, 3 May 17 09:52 /dev/null 

ファイルである場合、st_devフィールドは、(Linuxの2049)makedev(8,1)を含むであろう/ dev/sda1にあります。

対応するマクロmajor(st_dev)minor(st_dev)でメジャー/マイナー番号を抽出できます(makedev(3)のマンページを参照)。

+0

パーフェクト!それは数字を説明する – Trey

関連する問題