文件的硬链接

文件的硬链接

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

相关内容