在 Linux 上,如何获取文件硬链接列表?
答案1
find /partition_root -samefile /partition_root/file/to/find/hardlinks/of
答案2
首先确保硬链接计数ls
大于 0。
如果是这样,那么你可以搜索它们,虽然有点费力:
find <path> -type f -samefile <source>
这将查找给定路径中的所有文件,并将源文件的 inode 号与找到的文件的 inode 号进行比较。硬链接共享相同的 inode。因此,如果它们匹配,则您拥有一个硬链接。
答案3
可能有更简单/更快捷的方法,但是
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
答案4
仅适用于硬链接:
find -samefile xaa -ls
还包括符号链接:
find -L -samefile xaa -exec ls -li {} \;
这里使用-exec ls
而不是-ls
显示符号链接本身的所有者、组、权限和目标,而不是目标的信息。