Symlink
如何找到指向給定目錄中任何文件/目錄的所有符號連結
在這個問題或這個問題上(例如),您將獲得有關如何查找指向給定目錄的符號連結(我們稱之為
/dir1
)的解決方案,而我對可能指向內部任何文件/文件夾的符號連結感興趣/dir1
。我想刪除這樣的目錄,但我不確定這樣做是否安全,因為在另一個目錄(我們稱之為
/dir2
)上,我可能有指向/dir1
.此外,我可能使用絕對或相對路徑創建了這些符號連結。我唯一的幫助是我知道我要檢查的符號連結位於已安裝的文件系統上,位於
/dir2
.
您可以使用以下命令找到所有符號連結:
find / -type l
您可能希望以 root 身份執行它以訪問光碟上的每個位置。
您可以使用擴展這些
readlink -f
以獲取連結的完整路徑,並且您應該能夠grep
針對您正在考慮刪除的目標目錄輸出:find / -type l -exec readlink -f {} + | grep -F /dir2
使用
find / -type l -printf '%l\n'
不起作用,因為您獲得../tmp/xyz
了可能指向目標目錄的相對連結,但由於它們沒有完全展開而不匹配。