查找指向同一目标的符号链接

查找指向同一目标的符号链接

如何找到目录中指向同一目标的所有符号链接?

例如,以下是目录中的文件列表:

a.txt
b.txt
a -> target1
c -> target1
m -> target2
n -> target3
c.txt
z -> target1

我想获得链接到的内容的列表target1。所以预期的输出将是:

a
c
z

答案1

考虑以下目录结构:

lrwxrwxrwx [...] a -> target1
lrwxrwxrwx [...] c -> target1
lrwxrwxrwx [...] m -> target2
lrwxrwxrwx [...] n -> target3
lrwxrwxrwx [...] t -> z
-rw-r--r-- [...] target1
-rw-r--r-- [...] target2
-rw-r--r-- [...] target3
lrwxrwxrwx [...] z -> target1

使用 GNUfind查找指向同一 inode 的所有文件:

find -L . -samefile target1
  • -L遵循符号链接,即使您有递归符号链接
  • -samefile查找与给定参数指向相同 inode 的所有文件target1

上述目录中的输出将如下所示:

./z
./a
./target1
./c
./t

相关内容