在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显示符号链接本身的所有者,组,权限和目标,而不是目标的信息。