Ich habe also eine kleine Situation, in der ich viele Symlinks erstellt habe, um sie zum Laufen zu bringen, und alle möglichen Kombinationen ausprobiert habe. Jetzt habe ich diesen Fehler:
ls: cannot access /etc/sv/me: Too many levels of symbolic links
Es gibt keine Symlinks in /service/ oder /etc/sv/
Die einzige Möglichkeit, diesen Fehler zu beheben, besteht darin, alle Symlinks in Bezug auf /service/ oder /etc/sv/ zu entfernen, aber ich tue es nicht Siehst du nicht einmal die symbolischen Links?
Akzeptierte Antwort:
Sie können zyklische Symlinks mit ein wenig find
identifizieren Trickserei, versuchen Sie Folgendes:
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
Dies funktioniert, indem nach Symlinks gefiltert und dann alles ausgeschlossen wird, wo der Typ des Ziels des Symlinks einer der möglichen Inode-Typen ist. Übrig bleiben nur die, wo find
kann den Typ des Ziels nicht bestimmen, was nur bei zyklischen Symlinks der Fall ist (defekte entsprechen -xtype l
)