0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何在Linux中查找斷開的符號鏈接

jf_ZqFkd6Up ? 來源:Linux迷 ? 2023-02-06 18:23 ? 次閱讀

在之前的文章中,我們解釋了什么是 Linux 中的符號鏈接。符號鏈接(Symbolic links 或 symlinks)或軟鏈接(soft links)用于在 Linux 中創(chuàng)建指向其他文件的快捷方式。符號鏈接在 Linux 中大量用于鏈接庫。 當鏈接指向的原始文件被刪除時,該鏈接變?yōu)樗梨溄印1A舸祟愭溄涌赡懿皇且粋€好主意。 現(xiàn)在問題來了,如何在 Linux 中找到斷開的符號鏈接?一些發(fā)行版以不同的顏色顯示斷開的鏈接,但這不是找到所有此類斷開鏈接的方法。 在本教程中,我將向您展示幾種在 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

事實上,符號鏈接可用于正確管理系統(tǒng)中的軟鏈接。它可以警告您跨文件系統(tǒng)的鏈接,將雜亂的鏈接更改為相對的鏈接或縮短冗長的鏈接。 在 Linux 中,可以有多種方法來執(zhí)行一項任務。查找斷開的符號鏈接是一樣的。我向您展示了兩種方法,但肯定還有其他方法。如果您有其他最喜歡的管理死鏈接的命令,請在評論部分與我們分享。 關于相關主題,您還可以閱讀 Linux 中硬鏈接的概念。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11209

    瀏覽量

    208721
  • 符號
    +關注

    關注

    0

    文章

    55

    瀏覽量

    4304

原文標題:如何在 Linux 中查找斷開的符號鏈接

文章出處:【微信號:Linux迷,微信公眾號:Linux迷】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    一文弄懂Linux鏈接和軟鏈接

    Linux系統(tǒng)下,有兩種鏈接文件:一種是硬鏈接(Hard Link);另一種是軟鏈接,也稱為符號鏈接
    發(fā)表于 10-21 14:26 ?1327次閱讀

    Linux系統(tǒng)如何刪除軟鏈接

    Linux,符號鏈接(symbolic link,或者symlink)也稱為軟鏈接,是一種特殊類型的文件,用作指向另一個文件的快捷方式。
    發(fā)表于 10-28 09:14 ?7429次閱讀

    linux kernel通過修改鏈接腳本lds文件,如何在esp32的linker.lf文件實現(xiàn)?

    linux kernel通過修改鏈接腳本lds文件實現(xiàn),請問如何在esp32的linker.lf文件實現(xiàn)? linux kernel實現(xiàn)過
    發(fā)表于 06-26 06:19

    Linux基礎】Linux鏈接簡介

      一、Linux鏈接簡介  Linux的軟鏈接(symbolic link)又叫符號連接,相當于Windows下的快捷方式?! ?/div>
    發(fā)表于 09-20 15:50

    Linux系統(tǒng)下的鏈接原理是什么?有哪些應用呢

    (目標文件)符號,這些其他模塊的符號對于本模塊來講還都是未知的,因此這些符號的解析需要鏈接器對這些模塊進行連接,這種操作也稱為“重定位”
    發(fā)表于 06-21 17:05

    protel的電氣符號

    羅列了protel的原理圖符號名稱元件庫方便繪圖查找!
    發(fā)表于 02-28 16:38 ?0次下載

    你知道Linux軟連接和硬鏈接

    Linux鏈接分兩種,一種被稱為硬鏈接(Hard Link),另一種被稱為符號鏈接(Symbolic Link)。默認情況下,ln命令產生硬
    發(fā)表于 04-25 18:00 ?1670次閱讀

    Linux命令鏈接操作符的實際應用

    Linux命令鏈接的意思是,通過操作符的行為將幾個命令組合執(zhí)行。Linux鏈接命令,有些
    發(fā)表于 05-06 17:44 ?827次閱讀

    Linux的軟鏈接、硬鏈接都用在哪些場合?

    最近,看到很多文章都在介紹 Linux 的文件系統(tǒng),其中就包括:inode 節(jié)點、軟鏈接、硬鏈接等重要的概念。 于是就有小伙伴私信問我:這些概念我都懂,但是我能利用他們來完成什么工作
    的頭像 發(fā)表于 06-21 16:33 ?1643次閱讀

    Linux符號鏈接如何創(chuàng)建

    什么是 Linux 符號鏈接,為什么要使用它? 符號鏈接 Symbolic Links,也稱
    的頭像 發(fā)表于 02-11 10:12 ?1148次閱讀

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

    對于Linux新用戶來說,在Linux查找文件可能有點困難。但是,在適當的指導下,任何人都可以創(chuàng)建文件快捷方式或找到其Linux系統(tǒng)中有多
    的頭像 發(fā)表于 03-23 14:55 ?4168次閱讀

    何在Linux查找文件所有者?

    Linux 系統(tǒng),每個文件和目錄都有一個所有者(owner)和一個所屬組(group)。所有者通常是創(chuàng)建該文件或目錄的用戶,而所屬組通常是文件或目錄所屬的組。在某些情況下,您可能需要查找特定文件或目錄的所有者。以下是在
    的頭像 發(fā)表于 05-12 14:31 ?1237次閱讀
    如<b class='flag-5'>何在</b><b class='flag-5'>Linux</b><b class='flag-5'>中</b><b class='flag-5'>查找</b>文件所有者?

    linux查找文件的命令

    Linux,可以使用以下命令來查找文件: find 命令:可以在指定目錄及其子目錄查找文件,支持根據文件名、文件類型、文件大小、文件修
    的頭像 發(fā)表于 11-08 14:24 ?1207次閱讀

    linuxfind用法詳解

    Linux, find 命令是一個非常強大的工具,用于在指定目錄下查找文件和目錄。下面是 find 命令的用法和詳細解釋: 語法: find [路徑] [表達式] 路徑:要查找的目
    的頭像 發(fā)表于 11-08 14:29 ?657次閱讀

    何在高速信號降低符號間干擾

    何在高速信號降低符號間干擾
    的頭像 發(fā)表于 11-27 15:29 ?512次閱讀
    如<b class='flag-5'>何在</b>高速信號<b class='flag-5'>中</b>降低<b class='flag-5'>符號</b>間干擾