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

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

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

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

答案1

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

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

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

相关内容