私は このページで iノードにはリンクカウンターがあり、ファイルの数を知ることができます(「ディレクトリエントリ」を読んでください)。このiノードをポイントします。ファイルシステム全体をトラバースせずに、どのディレクトリにそのようなエントリが含まれているかを知る方法はありますか?この情報はどこかに保存されていますか?
struct inode {
kdev_t i_dev;
unsigned long i_ino;
umode_t i_mode;
nlink_t i_nlink;
uid_t i_uid;
gid_t i_gid;
…
};
いいえ。iノードを指すディレクトリエントリは一方向のリンクです。 iノードはディレクトリエントリを指していません。
Iノードを指すディレクトリエントリの完全なリストを見つけるには、iノードのリンク数を説明するのに十分なディレクトリエントリが見つかるまでファイルシステムをトラバースする必要があります。