断开的符号链接,如何从Ubuntu中查找和删除它们

关于断开的符号链接

在下一篇文章中,我们将看一看 如何查找和删除损坏的符号链接 在Ubuntu中。 符号链接是简化Gnu / Linux系统管理的一种方式。 它们在服务器和工作站上都​​使用,其中从一个目录链接到另一个目录用于应用程序在目录树中的其他位置发送信息。

Un 符号链接 在Unix或Gnu / Linux系统上,它表示 对目录结构中其他位置的现有目录或文件的访问。 使用此链接进行的修改将反映在原始文件中,但是相反,如果删除了该链接,则它所引用的文件或目录也不会被删除。 另一个不太常见的选择是使用硬链接(硬链接)。 在这种情况下,如果链接是文件的最后一个硬链接,则删除链接会导致文件或目录的删除。

符号链接相对于硬链接的一个优点是,可以使符号链接指向其他设备上找到的文件系统中的对象,或指向同一设备内的分区。 通常用于管理链接的命令(苛刻和象征性的)是 ln.

符号链接,用于管理符号链接的工具

有一个名为 符号链接 在大多数Gnu / Linux存储库中。 这是一个简单的命令行实用程序, 将提供有用的结果和选项来管理符号链接。 到 在Ubuntu上安装此工具,我们只需打开一个终端(Ctrl + Alt + T)并执行以下命令:

安装符号链接

sudo apt install symlinks

使用符号链接,我们可以使用不同的选项来使用符号链接。 其中我们可以突出显示该选项 -d,这将删除悬空的链接。 另一个有趣的事情是选择 -r,它将通过子目录递归遍历我们为此工具指定的任何选项.

帮助符号链接

一个基本的例子

首先从这个例子开始,让我们首先创建一个符号链接。 我们可以通过采取 现有文件,并使用ln命令将其链接到尚不存在的文件。 创建该示例的命令如下:

touch archivo-ejemplo.txt

ln -s archivo-ejemplo.txt link-archivo-ejemplo.txt

然后我们将使用命令 ls 检查我们系统中是否已经存在我们刚刚创建的链接。

链接已创建

接下来我们要做的是 破坏我们刚刚创建的符号链接.

rm archivo-ejemplo.txt

断开的链接

即使我们刚刚删除了原始文件,如上图所示,该命令 ls -l仍然报告链接仍然存在。 这就是问题所在,因为此链接将卡在不再存在的文件中。 此示例中的文件也可以位于不同的目录中,这会使检查原始文件是否仍然存在更加困难。

查找和修复断开的符号链接

修复损坏的符号链接的方法是简单地将其删除。 无法恢复它们,所以我们只需要 从目录树中删除它们.

检查符号链接是否损坏,让我们使用符号链接工具。 我们只需要使用以下命令:

symlinks .

注意这一点很重要(.)在命令末尾,因为它指示当前的工作目录。 可以通过以下方式更改 表示我们要在其中搜索目录的任何路径。 前面的命令将向我们显示如下输出:

寻找断开的链接

表示“链接文件示例.txt'正在悬挂,并且符号链接已断开。 为了消除它,我们只需要使用与以前相同的命令,添加选项 -d:

删除断开的链接

symlinks -d .

终端将返回的输出将显示与上次类似的内容,但是 这次还将包括“删除.

继续前面的示例,如果我们没有使用最后一个命令, 搜索损坏的符号链接,我们也可以使用find如下:

如何使用查找找到断开的链接

find . -xtype l

与符号链接工具一样,句点(.)代表当前的工作目录。 为了 删除断开的符号链接,我们只需添加选项-删除 如下所示:

find . -xtype l -delete

该命令不会显示任何结果,但是如果我们再次执行该命令而没有该选项 -删除,我们将在屏幕上看不到任何东西。 这表明断开的符号链接已被删除。

卸载

卸载符号链接 它就像安装它一样简单。 我们只需要打开一个终端(Ctrl + Alt + T)并执行以下命令:

卸载符号链接

sudo apt remove symlinks

通过这些简单的步骤,所有用户都可以 轻松找到损坏的符号链接,并在它们可能引起问题之前将其删除.


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。