0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在Linux中查找断开的符号链接

jf_ZqFkd6Up 来源:Linux迷 2023-02-06 18:23 次阅读

在之前的文章中,我们解释了什么是 Linux 中的符号链接。符号链接(Symbolic links 或 symlinks)或软链接(soft links)用于在 Linux 中创建指向其他文件的快捷方式。符号链接在 Linux 中大量用于链接库。 当链接指向的原始文件被删除时,该链接变为死链接。保留此类链接可能不是一个好主意。 现在问题来了,如何在 Linux 中找到断开的符号链接?一些发行版以不同的颜色显示断开的链接,但这不是找到所有此类断开链接的方法。 在本教程中,我将向您展示几种在 Linux 中查找死链接(dangling link)的方法。

方法一、使用 find 命令列出所有损坏的符号链接

神奇的 find 命令也可用于查找损坏的软链接。此命令的较新版本为此任务提供了专用选项。 要查找当前目录及其子目录中的所有死链接,可以使用 find 命令,如下所示:


find . -xtype l
它的输出将列出所有断开的链接:

┌──(linuxmi㉿linuxmi)-[~]
└─$ find . -xtype l
./www.linuxmi.com/xpstat
./www.linuxmi.com/linuxmi/linux
./www.linuxmi.com/linuxmi/linuxmi.com/ubuntu
./www.linuxmi.com/linuxmi/linuxmi
./linuxmi.com/share/inuxmi.md
./.mozilla/firefox/0gl7btzd.default-esr/lock
./linuxmi/link_dir

29d18f8e-a606-11ed-bfe3-dac502259ad0.png


您可以将find 与 exec结合使用并删除它找到的链接。

方法 2:使用 symlinks 命令查找断开的符号链接

您还可以使用名为 symlinks 的专用命令来处理死链接。 您可能必须安装符号链接命令。它在 Debian 中可用。如果您使用的是 Ubuntu,则必须启用 Universe repository。


sudo apt install symlinks
安装后,您可以按以下方式使用它:

symlinks [options] path_to_directory
所以,如果你必须在当前目录中找到断开的链接,你可以像这样使用它:

┌──(linuxmi㉿linuxmi)-[~]
└─$ symlinks .
absolute: /home/linuxmi/test -> /home/linuxmi/linuxmi.com/linuxmi/linuxmi.py

29f349b2-a606-11ed-bfe3-dac502259ad0.png

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

symlinks -r directory
不是这样。您还可以选择使用 symlinks 命令的 -d 选项删除所有断开的链接。

┌──(linuxmi㉿linuxmi)-[~]
└─$ symlinks -d .
absolute: /home/linuxmi/test -> /home/linuxmi/linuxmi.com/linuxmi/linuxmi.py

2a1aec4c-a606-11ed-bfe3-dac502259ad0.png

事实上,符号链接可用于正确管理系统中的软链接。它可以警告您跨文件系统的链接,将杂乱的链接更改为相对的链接或缩短冗长的链接。 在 Linux 中,可以有多种方法来执行一项任务。查找断开的符号链接是一样的。我向您展示了两种方法,但肯定还有其他方法。如果您有其他最喜欢的管理死链接的命令,请在评论部分与我们分享。 关于相关主题,您还可以阅读 Linux 中硬链接的概念。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11273

    浏览量

    209263
  • 符号
    +关注

    关注

    0

    文章

    55

    浏览量

    4329

原文标题:如何在 Linux 中查找断开的符号链接

文章出处:【微信号:Linux迷,微信公众号:Linux迷】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    一文弄懂Linux链接和软链接

    Linux系统下,有两种链接文件:一种是硬链接(Hard Link);另一种是软链接,也称为符号链接
    发表于 10-21 14:26 1344次阅读

    Linux系统如何删除软链接

    Linux符号链接(symbolic link,或者symlink)也称为软链接,是一种特殊类型的文件,用作指向另一个文件的快捷方式。
    发表于 10-28 09:14 7458次阅读

    linux kernel通过修改链接脚本lds文件,如何在esp32的linker.lf文件实现?

    linux kernel通过修改链接脚本lds文件实现,请问如何在esp32的linker.lf文件实现? linux kernel实现过
    发表于 06-26 06:19

    Linux基础】Linux链接简介

      一、Linux链接简介  Linux的软链接(symbolic link)又叫符号连接,相当于Windows下的快捷方式。  
    发表于 09-20 15:50

    protel的电气符号

    罗列了protel的原理图符号名称元件库方便绘图查找!
    发表于 02-28 16:38 0次下载

    你知道Linux软连接和硬链接

    Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬
    发表于 04-25 18:00 1684次阅读

    Linux命令链接操作符的实际应用

    Linux命令链接的意思是,通过操作符的行为将几个命令组合执行。Linux链接命令,有些
    发表于 05-06 17:44 840次阅读

    Linux的软链接、硬链接都用在哪些场合?

    最近,看到很多文章都在介绍 Linux 的文件系统,其中就包括:inode 节点、软链接、硬链接等重要的概念。 于是就有小伙伴私信问我:这些概念我都懂,但是我能利用他们来完成什么工作
    的头像 发表于 06-21 16:33 1666次阅读

    Linux符号链接如何创建

    什么是 Linux 符号链接,为什么要使用它? 符号链接 Symbolic Links,也称
    的头像 发表于 02-11 10:12 1182次阅读

    如何使用命令行在Linux查找文件?

    对于Linux新用户来说,在Linux查找文件可能有点困难。但是,在适当的指导下,任何人都可以创建文件快捷方式或找到其Linux系统中有多
    的头像 发表于 03-23 14:55 4235次阅读

    何在Linux查找文件所有者?

    Linux 系统,每个文件和目录都有一个所有者(owner)和一个所属组(group)。所有者通常是创建该文件或目录的用户,而所属组通常是文件或目录所属的组。在某些情况下,您可能需要查找特定文件或目录的所有者。以下是在
    的头像 发表于 05-12 14:31 1270次阅读
    如<b class='flag-5'>何在</b><b class='flag-5'>Linux</b><b class='flag-5'>中</b><b class='flag-5'>查找</b>文件所有者?

    linux查找文件的命令

    Linux,可以使用以下命令来查找文件: find 命令:可以在指定目录及其子目录查找文件,支持根据文件名、文件类型、文件大小、文件修
    的头像 发表于 11-08 14:24 1285次阅读

    linuxfind用法详解

    Linux, find 命令是一个非常强大的工具,用于在指定目录下查找文件和目录。下面是 find 命令的用法和详细解释: 语法: find [路径] [表达式] 路径:要查找的目
    的头像 发表于 11-08 14:29 706次阅读

    何在高速信号降低符号间干扰

    何在高速信号降低符号间干扰
    的头像 发表于 11-27 15:29 569次阅读
    如<b class='flag-5'>何在</b>高速信号<b class='flag-5'>中</b>降低<b class='flag-5'>符号</b>间干扰

    Linux文件查找

    Linux文件查找 1.find查找概述 为什么要有文件查找,因为很多时候我们可能会忘了某个文件所在的位置,此时就需要通过find来查找
    的头像 发表于 12-03 17:09 224次阅读