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

在之前的一篇文章中,我解释了什么是 Linux 中的符号链接。 符号链接或符号链接或软链接用于在 Linux 中创建指向其他文件的快捷方式。 在 Linux 中链接库中大量使用符号链接。

当链接指向的原始文件被删除时,该链接变为悬空链接。 保留此类链接可能不是一个好主意。

现在问题来了,你怎样在 Linux 中找到损坏的符号链接? 某些发行版以不同颜色显示断开的链接,但这不是找到所有此类断开链接的方法。

在本教程中,我将向您展示在 Linux 中查找悬空链接的几种方法。

惊人的 find 命令也可用于查找损坏的软链接。 此命令的较新版本为此任务提供了专用选项。

要查找当前目录及其子目录中的所有悬空链接,您可以使用 find 命令,如下所示:

find . -xtype l

它的输出将列出所有损坏的链接:

find . -xtype l
./target_link2
./newdir/new_dir/link_dir

您还可以使用名为 symlinks 的专用命令来处理悬空链接。

您可能必须安装符号链接命令。 它在 Debian 中可用。 如果您使用的是 Ubuntu, 您必须启用 Universe 存储库.

sudo apt install symlinks

安装后,您可以通过以下方式使用它:

symlinks [options] path_to_directory

因此,如果您必须在当前目录中找到损坏的链接,您可以像这样使用它:

symlinks .
dangling: /home/abhishek/tutorials/target_link2 -> newdir/test_dir/myzip

你注意到什么了吗? 它只列出一个断开的链接,而 find 命令有两个断开的链接。 这是因为如果要递归搜索,则必须指定选项:

symlinks -r directory

不是这个。 您还可以选择使用符号链接命令的 -d 选项删除所有损坏的链接。

symlinks -d .
dangling: /home/abhishek/tutorials/target_link2 -> newdir/test_dir/myzip
deleted:  /home/abhishek/tutorials/target_link2 -> newdir/test_dir/myzip

事实上,符号链接可用于正确管理系统中的软链接。 它可以警告您跨文件系统的链接,将杂乱的链接更改为相对链接或缩短冗长的链接。

在 Linux 中,可以有多种方式来完成一项任务。 查找损坏的符号链接是一样的。 我向您展示了两种方法,但当然可以有其他方法。 如果您有其他喜欢的用于管理悬空链接的命令,请在评测部分与我们分享。

关于相关主题,您可能希望阅读 Linux 中硬链接的概念。

相关阅读:

Posted in: LinuxTags: ,