如何找到给定文件/目录的所有符号链接?

war*_*ren 8 linux symbolic-link

如何找到给定文件/目录的所有符号链接?

上一个问题仅适用于硬链接(如果我没看错的话)。

whi*_*ark 6

使用find /dir -lname /link/target. 用shell模式搜索链接内容;例如,您可以使用 * 和 ? 目标规范中的通配符。

这种方法的一个缺点是它搜索链接的内容,而不是它们的扩展路径,因此如果您需要查找绝对路径的相对链接(例如,有多个同名文件),您需要一个更复杂的脚本。

您也可以使用其他方法:find -L /dir -samefile /link/target. 这会导致find取消引用符号链接,并在检查由操作系统扩展的取消引用路径与提供的路径相同后,因此 Linux 将处理相对和绝对链接。这解决了以前方法的问题。