найти сломанные символические ссылки

Thank you for reading this post, don't forget to subscribe!

Сим­воль­ные ссыл­ки, сим­во­ли­че­ские ссыл­ки или про­грамм­ные ссыл­ки исполь­зу­ют­ся для созда­ния ярлы­ков для дру­гих фай­лов в Linux. Сим­воль­ные ссыл­ки широ­ко исполь­зу­ют­ся при ком­по­нов­ке биб­лио­тек в Linux.

Когда исход­ный файл, на кото­рый ука­зы­ва­ет ссыл­ка, уда­ля­ет­ся, ссыл­ка ста­но­вит­ся вися­чей ссыл­кой. Хра­не­ние таких ссы­лок не может быть хоро­шей идеей.

Теперь воз­ни­ка­ет вопрос, как най­ти битые сим­во­ли­че­ские ссыл­ки в Linux? В неко­то­рых дис­три­бу­ти­вах битые ссыл­ки отоб­ра­жа­ют­ся раз­ны­ми цве­та­ми, но это не спо­соб най­ти все такие битые ссылки.

 

Поиск неработающих символических ссылок в Linux

В этой ста­тье мы пока­жем вам несколь­ко спо­со­бов поис­ка нера­бо­та­ю­щим ссы­лок в Linux.

 

Способ 1. Используйте команду find, чтобы получить список всех неработающих символических ссылок.

Уди­ви­тель­ная коман­да find так­же может быть исполь­зо­ва­на для поис­ка нера­бо­та­ю­щих про­грамм­ных ссы­лок. Более новые вер­сии этой коман­ды предо­став­ля­ют спе­ци­аль­ную опцию для этой задачи.

Что­бы най­ти все вися­чие ссыл­ки в теку­щем ката­ло­ге и его под­ка­та­ло­гах, вы може­те исполь­зо­вать коман­ду find сле­ду­ю­щим образом:

 

В ее выво­де будут пере­чис­ле­ны все битые ссылки:

 

Способ 2. Используйте команду symlinks для поиска неработающих символических ссылок

Вы так­же може­те исполь­зо­вать коман­ду symlinks с име­нем сим­во­ли­че­ские ссыл­ки для обра­бот­ки вися­чих ссылок.

Воз­мож­но, вам при­дет­ся уста­но­вить коман­ду symlinks. Это доступ­но в Debian. Если вы исполь­зу­е­те Ubuntu, вам нуж­но вклю­чить репо­зи­то­рий Universe.

 

После уста­нов­ки вы може­те исполь­зо­вать его сле­ду­ю­щим образом:

 

Итак, если вам нуж­но най­ти нера­бо­та­ю­щие ссыл­ки в теку­щем ката­ло­ге, вы може­те исполь­зо­вать его сле­ду­ю­щим образом:

 

Вы что-то заме­ти­ли? В нем ука­за­на толь­ко одна нера­бо­та­ю­щая ссыл­ка, в то вре­мя как коман­да find име­ет две нера­бо­та­ю­щие ссыл­ки. Это пото­му, что если вы хоти­те выпол­нять рекур­сив­ный поиск, вам нуж­но будет ука­зать опцию:

 

Вы так­же може­те уда­лить все нера­бо­та­ю­щие ссыл­ки с помо­щью опции -d коман­ды symlinks.

 

Фак­ти­че­ски, сим­во­ли­че­ские ссыл­ки могут исполь­зо­вать­ся для пра­виль­но­го управ­ле­ния про­грамм­ны­ми ссыл­ка­ми в вашей систе­ме. Он может пре­ду­пре­дить вас о ссыл­ках в фай­ло­вых систе­мах, изме­нить гряз­ные ссыл­ки на отно­си­тель­ные или сокра­тить длин­ные ссылки.