ファイルはコンテンツブロック、inode、その両方、ファイル名、またはその他の項目で定義されますか?基本的にファイルの定義は何ですか?
例えば
2つのハードリンクは同じinodeとコンテンツブロックを共有できますが、ファイル名は異なります。同じファイルと見なされますか、それとも別のファイルと見なされますか?
inodeは違いますが、コンテンツブロックには同じファイルがありますか?同じファイルと見なされますか?
ありがとうございます。
ベストアンサー1
私は、デバイスファイルやUnixドメインソケットなどの従来のファイルではなく、「一般的な」ファイルについて話しているとします。
ファイルには名前、メタデータ、データがあると言いたいです。
これはファイル名、inode、ブロックに直接対応します。
2つのハードリンクファイル名は、単一のファイルの2つの名前にすぎないと思います。
私はUnix、Linux、または* BSDで非常に珍しい介入なしに同じデータブロックを参照する2つのinodeを持つことができるとは思いません。 suidプログラムは、ディスク上のデバイスファイルを開き、同じデータブロックを指すように2つのinodeを操作できますが、これが自然に起こるかどうか疑問に思います。