如何在 Linux 中查找损坏的符号链接
这个快速提示教您各种方法来查找 Linux 命令行中所有损坏的符号链接。您还将学习如何管理那些损坏的软链接。
在之前的文章中,我解释了 Linux 中的符号链接是什么。符号链接或符号链接或软链接用于创建 Linux 中其他文件的快捷方式。符号链接在 Linux 中的链接库中大量使用。
当链接指向的原始文件被删除时,该链接将成为悬空链接。保留此类链接可能不是一个好主意。
现在问题来了,如何在Linux中找到损坏的符号链接?某些发行版以不同颜色显示损坏的链接,但这并不是找到所有此类损坏链接的方法。
在本教程中,我将向您展示几种在 Linux 中查找悬挂链接的方法。
方法1.使用find命令列出所有损坏的符号链接
令人惊奇的 find 命令也可用于查找损坏的软链接。此命令的较新版本为此任务提供了专用选项。
要查找当前目录及其子目录中的所有悬空链接,可以使用 find 命令,如下所示:
find . -xtype l
其输出将列出所有损坏的链接:
find . -xtype l
./target_link2
./newdir/new_dir/link_dir
您可以将 find 与 exec 结合起来并删除它找到的链接。
方法 2:使用 symlinks 命令查找损坏的符号链接
您还可以使用名为 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
不是这个。您还可以使用 symlinks 命令的选项 -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 中硬链接的概念。