在之前的文章中,我們解釋了什么是 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
您可以將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
symlinks -r directory不是這樣。您還可以選擇使用 symlinks 命令的 -d 選項刪除所有斷開的鏈接。
┌──(linuxmi?linuxmi)-[~] └─$ symlinks -d . absolute: /home/linuxmi/test -> /home/linuxmi/linuxmi.com/linuxmi/linuxmi.py
-
Linux
+關注
關注
87文章
11345瀏覽量
210401 -
符號
+關注
關注
0文章
55瀏覽量
4385
原文標題:如何在 Linux 中查找斷開的符號鏈接
文章出處:【微信號:Linux迷,微信公眾號:Linux迷】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
Linux系統中如何刪除軟鏈接
你知道Linux軟連接和硬鏈接?
Linux中的軟鏈接、硬鏈接都用在哪些場合?
如何使用命令行在Linux中查找文件?
如何在Linux中查找文件所有者?
![如<b class='flag-5'>何在</b><b class='flag-5'>Linux</b><b class='flag-5'>中</b><b class='flag-5'>查找</b>文件所有者?](https://file1.elecfans.com//web2/M00/82/B5/wKgZomRd3TyAWba-AAAaD9wi4LA510.jpg)
評論