无需遍历文件系统即可查找文件的所有硬链接

qdi*_*dii 9 linux filesystems hard-link inode

在这个页面中看到 inode 有一个链接计数器来知道有多少文件(阅读:“目录条目”)指向这个 inode。有没有办法在不遍历整个文件系统的情况下知道哪些目录包含这些条目?这些信息是否存储在某个地方?

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;
    …
};
Run Code Online (Sandbox Code Playgroud)

Cel*_*ada 12

否。指向 inode 的目录条目是单向链接。inode 不指向目录条目。

为了找到指向 inode 的目录条目的完整列表,您需要遍历文件系统,直到找到足够的目录条目来说明 inode 的链接数。