所以,我遇到了一种情况,我创建了许多符号链接,试图让它们工作,尝试各种组合..现在我遇到了这个错误:
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