查找某个文件的所有硬链接

Find all hard links of a certain file

我有一个文件名,我必须为它获取所有 hard links(在同一目录中)。

我考虑过将 readlinkdir->d_name 策略结合使用,但这仅适用于软链接。

有什么想法吗?

遍历目录中的每个文件并lstat()它。如果它的 inode 编号 (st_ino) 与您感兴趣的文件相同,并且它们都具有相同的 link 计数 (st_nlink) 且大于 1 , 然后他们很难link在一起。

(link 计数检查严格来说 不是必需的,但它是一个很好的完整性检查。)