inodeのinode番号の概念を理解しようとしています。
inode番号はinodeのIDですか?
インデックスノードにはインデックスノード番号が1つしかありませんか?それとも、inodeが0個以上のinode番号を持つことができますか?
inode番号はいつinodeに割り当てられますか?
inodeのinode番号を変更できますか? inodeのinode番号を変更するのは合理的ですか?
具体的に説明する必要がある場合は、Linuxベースのファイルシステムに言及します。
ベストアンサー1
inode番号は単にinodeの一意の識別子です。 UIDやGIDに似ています。したがって、各inodeには1つの識別子しかありません。
ファイルのinode番号を見つけるには、ls -i
またはを使用しますstat
。
Unixのすべてのディレクトリは(filename, inode number)
ペアのリストにすぎません。 inode番号は、inode構造自体への「ポインタ」として機能します。これにより、インデックスノードは物理ファイルの内容の場所を記録します。
Inode番号は、作成時に、つまり新しいファイルが作成されるたびにinodeに割り当てられます。
以下を解決するために編集されました。
これは本当に難しい質問です。私は答えが「いいえ」と強く疑ったが、100%確信できなかったので、いくつかの簡単な調査をしてみました。ファイルを移動すると、inode番号が実際に変更されるといういくつかのソースが見つかりましたが、この動作をローカルで再現することはできないため、一部の外部要因によって異なります。バラよりここ例えば。 inode番号に注意を払うことは確かに可能です。いいえ移動に複数のハードリンクがある場合は、移動から変更してください。それ以外の場合は、ハードリンクが切断されます。
はい。そうしないと、オペレーティングシステムに inode 番号が不足する可能性があります。とても悪い。これは、プロセスIDが最終的にオペレーティングシステムで再利用されるのと同じ理由です。
上記でこれについて取り上げました。各iノードには1つのiノード番号しかありません。