文件的硬链接

在Linux上,什么是获取文件硬连接列表的方式?

find /partition_root -samefile /partition_root/file/to/find/hardlinks/of 

首先确保ls的硬链接数大于0。

如果是这样,那么你可以有点刻意地search它们:

 find <path> -type f -samefile <source> 

这将查找给定path中的所有文件,并将源文件的inode号码与find的文件的inode号码进行比较。 硬链接共享相同的inode。 所以如果他们匹配,你有自己的硬链接。

可能有一个更简单/更快的方法,但是

 stat file 

这给了类似的东西

  File: `file' Size: 14 Blocks: 8 IO Block: 4096 regular file Device: fd00h/64768d Inode: 4227594 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 501/ phone) Gid: ( 501/ phone) Access: 2009-09-22 15:33:15.000000000 +0100 Modify: 2009-05-11 17:01:15.000000000 +0100 Change: 2009-05-11 17:05:09.000000000 +0100 

然后使用Inode行的inode号码,

 find /path -inum 4227594 

仅适用于硬链接:

 find -samefile xaa -ls 

还包括符号链接:

 find -L -samefile xaa -exec ls -li {} \; 

在这里使用-exec ls而不是-ls显示符号链接本身的所有者,组,权限和目标,而不是目标的信息。