怎样在 Linux 中查找损坏的符号链接

符号链接或符号链接是一种简化 Linux 系统管理的方法。 这在服务器或工作站上很常见,其中将一个目录链接到另一个目录用于让应用程序在不更改配置的情况下将信息发送到目录树中的另一个位置——这对于维护一个健康的系统是必不可少的。 但是,使用符号链接的问题是不能保证您将始终在该链接中拥有两个目录。 在这里,我们向您展示怎样在 Linux 中查找和修复损坏的符号链接。

有一个非常有用的应用程序,简单地称为 symlinks 在大多数存储库中。 这是一个简单的命令行实用程序,它将提供有用的输出和选项来删除那些相同的损坏符号链接。

要安装它,请使用以下命令:

有几个关键选项 symlinks. 那些是 -d,这将删除悬空链接,以及 -r,它将递归地执行您通过子目录指定的任何选项。

您还可以使用内置的 find Linux 中的工具。 这是一个不太用户友好的 example,但了解 find 命令及其工作原理很有帮助。

首先,我将创建一个符号链接。 这涉及获取现有文件并使用 ln 命令将其链接到尚不存在的文件。 就像下面这样 example 为了我。

您可以通过 ls 命令链接存在。

现在,我将打破那个符号链接。

你可以看到,即使我已经删除了原始文件, ls -l 命令仍然报告链接。 这就是问题所在。这些文件可能位于不同的目录中,这使得检查原始文件是否仍然存在变得更加困难。

断开的符号链接阅读断开的链接

修复损坏的符号链接的方法是删除它们。 将它们带回来是不可能的,因此您只需要从虚拟目录树中清除它们。

报告损坏的符号链接 symlinks 工具,使用以下命令:

注意“.” 表示当前的工作目录。 为您尝试搜索的任何目录更改此设置。 输出可能如下所示:

表明“linked-file.txt”是悬空的,并且符号链接已损坏。 要删除它们,请使用以下命令:

输出看起来与上次类似,但还会包含一行“已删除”。

损坏的符号链接符号链接 D

修复损坏的符号链接 find,使用以下命令:

损坏的符号链接查找

再次注意“.” 代表当前的工作目录。 这将产生对用户不太友好的输出,但仍然会有所帮助。

要删除,请添加 delete 选项。

损坏的符号链接查找删除

你不会得到这个输出的任何输出,但是如果你在没有 -delete 选项,你不会找到任何东西。

就是这样。 现在,您可以轻松找到损坏的符号链接并在它们导致更多问题之前将其删除。 您应该查看更多有关符号链接的教程。 您还可以详细了解符号链接和硬链接之间的区别以及何时应该使用它们。

永远不会错过

接收我们最新教程的更新。

注册所有时事通讯。 我想通过电子邮件接收时事通讯。 我们不会共享您的数据,您可以随时取消订阅。 订阅

相关阅读:

Posted in: Linux