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


9

在此页面中看到,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;
    …
};

最快的方法-仅遍历-可能是find -inum <n> -samefile path
ott--

2
@ ott-- find一个 -inum -samefile两个不一起使用。
Hauke Laging

@HaukeLaging您是正确的,只有其中之一。
ott--

Answers:


10

否。指向inode的目录条目是单向链接。索引节点不指向目录条目。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.