如何在 Linux 中查找斷開的符號鏈接
?在之前的文章中,我們解釋了??什么是 Linux 中的符號鏈接??。符號鏈接(Symbolic links 或 symlinks)或軟鏈接(soft links)用于在 Linux 中創(chuàng)建指向其他文件的快捷方式。符號鏈接在 Linux 中大量用于鏈接庫。
?當(dāng)鏈接指向的原始文件被刪除時,該鏈接變?yōu)樗梨溄?。保留此類鏈接可能不是一個好主意。
現(xiàn)在問題來了,如何在 Linux 中找到斷開的符號鏈接?一些發(fā)行版以不同的顏色顯示斷開的鏈接,但這不是找到所有此類斷開鏈接的方法。
在本教程中,我將向您展示幾種在 Linux 中查找死鏈接(dangling link)的方法。
方法一、使用 find 命令列出所有損壞的符號鏈接
神奇的 find 命令也可用于查找損壞的軟鏈接。此命令的較新版本為此任務(wù)提供了專用選項。
要查找當(dāng)前目錄及其子目錄中的所有死鏈接,可以使用 find 命令,如下所示:
它的輸出將列出所有斷開的鏈接:
您可以將find 與 exec結(jié)合使用并刪除它找到的鏈接。
方法 2:使用 symlinks 命令查找斷開的符號鏈接
您還可以使用名為 symlinks 的專用命令來處理死鏈接。
您可能必須安裝符號鏈接命令。它在 Debian 中可用。如果您使用的是 Ubuntu,則必須啟用 Universe repository。
安裝后,您可以按以下方式使用它:
所以,如果你必須在當(dāng)前目錄中找到斷開的鏈接,你可以像這樣使用它:
你注意到什么了嗎?它只列出一個斷開的鏈接,而 find 命令有 7 個斷開的鏈接。這是因為如果你想遞歸搜索,你必須指定選項:
不是這樣。您還可以選擇使用 symlinks 命令的 -d 選項刪除所有斷開的鏈接。
事實上,符號鏈接可用于正確管理系統(tǒng)中的軟鏈接。它可以警告您跨文件系統(tǒng)的鏈接,將雜亂的鏈接更改為相對的鏈接或縮短冗長的鏈接。
在 Linux 中,可以有多種方法來執(zhí)行一項任務(wù)。查找斷開的符號鏈接是一樣的。我向您展示了兩種方法,但肯定還有其他方法。