Answers:
使用GNU尝试一下find
:
find /start/dir -L -samefile /file/to/check -exec ls -li {} \;
输出示例:
1234704 -rw-r--r-- 2 user1 user1 1134 2009-09-11 11:12 ./x1
1234704 -rw-r--r-- 2 user1 user1 1134 2009-09-11 11:12 ./x2
1234983 lrwxrwxrwx 1 user1 user1 2 2009-10-31 16:56 ./testx -> x1
2345059 lrwxrwxrwx 1 user2 user2 2 2010-01-03 16:17 ./x3 -> x1
您可以使用-ls
代替,-exec
但是它将显示目标文件的inode和其他信息,而不是单个文件。
-L
和-samefile
导致两者都被列出。如果省略-L
,则不跟随符号链接(请参阅参考资料man find
)。
如果您没有GNU查找,则可以执行以下操作:
find / -inum "$(ls -i /file/to/check | cut -d ' ' -f 1)"
但这不适用于符号链接。