在 Linux 中查找所有符号链接

如何找到软链接?

您可以使用 ls 命令。 一些发行版以不同的颜色显示链接。 长列表总是可靠的,因为它显示了与 l 的链接。

lrwxrwxrwx 1 abhishek abhishek 14 Jan 31 18:07 my_link -> redirects.yaml

您还可以使用树命令:

如果您在当前目录中有几个链接,这没关系。 但是,如果您想查看嵌套目录结构或整个系统中的链接怎么办?

在本教程中,我将向您展示完成此任务的两种方法:

  • 使用查找命令
  • 使用符号链接实用程序

因此,让我们从第一个开始。

要使用 find 命令查找符号链接,您可以使用以下命令语法:

find Target_directory -type l

为了 example,在这里,我在 Links 目录:

find Links/ -type l

但默认情况下,find 命令会启动递归搜索,如果要将搜索限制在一定深度,则必须使用 -maxdepth 旗帜。

所以假设我想将搜索限制在 1 级 Links 目录,我将使用以下内容:

find Links/ -maxdepth 1 -type l
在 linux 中搜索一定深度的符号链接

如果你想要详细的输出,包括文件权限、用户组等,那么你必须将 find 命令与 -ls 旗帜:

find Target_directory -type l -ls
使用 find 命令获取符号链接的附加信息

如果你想要一个系统范围的搜索,你可以使用 / 在命令中。

这个工具是我在网络实习期间使用的。

但它并没有预装。 您可以使用发行版的包管理器安装它。 对于 Ubuntu/Debian,使用:

sudo apt install symlinks

完成安装后,使用给定的命令结构查找可用的符号链接:

symlinks -v target_directory
使用 symlinks 命令查找 linux 中的所有符号链接

在这里, -v 选项给出详细的输出。

但默认情况下,符号链接实用程序不会查看子目录。 启用递归搜索 -r 选项:

symlinks -vr target_directory
递归使用符号链接命令

输出具有特定条款。 让我解释一下。

  • relative 表示链接是相对于链接所在的当前工作目录的。
  • other_fs 表示链接指示不同的文件系统。 在我的例子中,它被指示给外部驱动器。

真的,它们听起来可能很重要,但我们确保一点一点地打破这个话题。

比如如果你是一个完全的初学者,你可以参考符号链接的初学者指南:

如果你想追根溯源,可以参考以下指南:

我希望您会发现本指南对您有所帮助。 如果您有任何疑问或建议,请在评论部分成为我的客人。