所以,我遇到了一種情況,我創建了許多符號鏈接,試圖讓它們工作,嘗試各種組合..現在我遇到了這個錯誤:
ls: cannot access /etc/sv/me: Too many levels of symbolic links
/service/ 或 /etc/sv/ 中沒有符號鏈接
我能找到解決此錯誤的唯一方法是刪除與 /service/ 或 /etc/sv/ 相關的所有符號鏈接,但我什至沒有看到符號鏈接?
答案1
您可以透過一些find
技巧來識別循環符號鏈接,試試這個:
find /path/to/search -type l -a ! \( -xtype b -o -xtype c -o -xtype d -o -xtype p -o -xtype f -o -xtype s -o -xtype l \) 2>/dev/null
這是透過過濾符號連結來實現的,然後排除符號連結目標類型是任何可能的 inode 類型的任何內容。唯一剩下的就是那些find
無法確定目標類型的情況,這只發生在循環符號連結上(損壞的匹配-xtype l
)
答案2
符號連結不會表現出「遠距離作用」-作為符號連結的目標永遠不會直接影響目標。
您看到的錯誤表明/etc
, or /etc/sv
, or/etc/sv/me
是符號連結。找出它是哪一個並修復它。
答案3
執行時嘗試使用小寫-l
(破折號 ell)而不是大寫。-L
ls