Linux находит и удаляет все символические ссылки, относящиеся к каталогу

Linux находит и удаляет все символические ссылки, относящиеся к каталогу

Итак, у меня возникла ситуация, когда я создал много символических ссылок, пытаясь заставить их работать, пробуя всевозможные комбинации... теперь у меня такая ошибка:

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, либо /etc/sv, либо /etc/sv/meявляется символической ссылкой. Выясните, что это такое, и исправьте ее.

решение3

Попробуйте использовать строчные буквы -l(тире, ell) вместо заглавных -Lпри написании ls.

Связанный контент