首頁  >  文章  >  系統教程  >  如何在 Linux 中找到斷開的符號鏈接

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

WBOY
WBOY轉載
2024-02-10 19:54:161027瀏覽

在先前的文章中,我們解釋了什麼是 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
如何在 Linux 中查找断开的符号链接

您可以將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
如何在 Linux 中查找断开的符号链接

你注意到什麼了嗎?它只列出一個斷開的鏈接,而 find 命令有 7 個斷開的鏈接。這是因為如果你想遞歸搜索,你必須指定選項:

symlinks -r directory

不是這樣。您也可以選擇使用 symlinks 指令的 -d 選項刪除所有已中斷的連結。

┌──(linuxmi㉿linuxmi)-[~]
└─$ symlinks -d .
absolute: /home/linuxmi/test -> /home/linuxmi/linuxmi.com/linuxmi/linuxmi.py
如何在 Linux 中查找断开的符号链接

事實上,符號連結可用於正確管理系統中的軟連結。它可以警告您跨文件系統的鏈接,將雜亂的鏈接更改為相對的鏈接或縮短冗長的鏈接。

在 Linux 中,可以有多種方法來執行一項任務。尋找斷開的符號連結是一樣的。我向您展示了兩種方法,但肯定還有其他方法。如果您有其他最喜歡的管理死連結的命令,請在評論部分與我們分享。

關於相關主題,您也可以閱讀 Linux 中硬連結的概念。

以上是如何在 Linux 中找到斷開的符號鏈接的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:lxlinux.net。如有侵權,請聯絡admin@php.cn刪除