列出所有具有相同inode编号的文件?


53

可以说,当我ls -li在目录中执行操作时,会得到以下信息:

12353538 -rw-r--r-- 6 me me 1650 2013-01-10 16:33 fun.txt

如输出所示,文件fun.txt具有6个硬链接。索引节点号为12353538

在这种情况下,如何找到文件的所有硬链接,即具有相同inode编号的文件?

Answers:


56
find /mount/point -samefile /mount/point/your/file

3
@TheoneManis我刚刚注意到,find调用的其他部分不是必需的。find足够聪明地隐式使用它们。通常,您必须给出find搜索路径,并且必须告诉它不应离开这些文件系统(通过符号链接或安装点)。但是,在查找硬链接时,很清楚可以搜索哪个文件系统。
Hauke Laging

6
Hauke,这取决于您使用的find版本。GNU版本可以做到这一点,但BSD版本不能做到这一点,并且在Mac上不能按原样工作。
艾伦·舒特科

3
您可能需要添加-xdev以避免进入其他文件系统中的目录,否则可能会在另一个文件系统中找到另一个具有相同inode编号的文件。
mmoya

-samefile在HP-UX上,-linkedto它几乎等同于(尽管略有不同:例如,仍必须指定搜索路径)。
尼克

3
请注意,如果您不在安装点的根目录中,则find将仅浏览当前文件夹的子文件夹。所以您应该说类似find /mount/point -samefile /mount/point/your/file
Calimo

52

如果您已经有了索引节点号,则可以使用find的-inum选项:

find -inum 12353538

11
不要忘了cd到文件系统的根目录,或将其指定为查找路径,例如find /mount/point -inum 12353538。否则,查找将仅在当前文件夹下进行。
Calimo '17
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.