Находим файлы символических ссылок, которые никуда не указывают.find / -noleaf -type l -print | perl -nle '-e || print'
Эта команда выведет все мертвые ссылки на стандартные вывод.
Можно перевести вывод в файл, для изучения и исправления.
Или просто удалить, добавив конвейер: "| xargs rm", то есть так:find / -noleaf -type l -print |perl -nle '-e || print' | xargs rm
PS. В BSD системах нужно отбросить опцию -noleaf, которая реализована только в GNU find.
URL: http://www.ugu.com/sui/ugu/show?tip.today
Обсуждается: http://www.opennet.me/tips/info/1721.shtml
Один из многих рецептов отличной книги "UNIX: инструментальные средства." Дж. Пик, Т. О`Райли, М. Лукидис
догадайтесь с 3-х раз, куда пропали относительные ссылки?
+1
>догадайтесь с 3-х раз, куда пропали относительные ссылки?Pаведите уже подраздел 'вредные советы' раздела 'Советы' и переместите этот совет туда.
Cимлинки созданы именно для того, чтобы быть относительными, а абсолютные - лишь частный случай; более того, например, даже абсолютные ссылки могут быть битыми лишь в рамках одного определенного контекста при наличии других: монтированные по NFS файловые системы, отсутствие доступа к файловой системе (при том, не обязательно в силу политики доступа, а, к примеру, недоступность того же NFS-сервера) - это лишь часть возможных ситуаций, когда даже абсолютные ссылки, выглядящие битыми, таковыми могут не быть.
P.S. и переименуйте в "Составление списка бледно выглядящих символических ссылок" 8)