Случается, что необходимо найти все битые ссылки (т.е. ссылки которые указывают на файлы, которых уже не существует).
Поможет простенькая коммандочка:
здесь:
- find /path -type l - ищем все ссылки в каталоге /path и передаем их по конвееру while'у
- while read link - while'ом построчно читаем и засовываем в переменную link
- readlink $link - читаем ссылку (т.е. куда она указывает)
- [ -e `readlink $link` ] - проверяем результат выполнения readlink'а на существование
- || echo $link - ИНАЧЕ файла, на который указывает ссылка, не существует - выводим его в stdout
Что делать потом с ними - решать вам! :)
Можно удалить их:
или
Можно перенести их куда-нибудь:
И прочее-прочее! Все зависит от вашей фантазии! ;)