Shell

查找符號連結指向同一個目標

  • December 29, 2016

如何在一個目錄中找到指向同一個目標的所有符號連結?

例如,這是一個目錄中的文件列表:

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

我想得到一個連結到的列表target1。所以預期的輸出將是:

a
c
z

考慮以下目錄結構:

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

引用自:https://unix.stackexchange.com/questions/333509