>_ IzzyLab

Практическое задание

Убери битые символические ссылки

средне

В каталоге /root/links насыпаны символические ссылки: часть ведёт на существующие файлы, а часть «висит» — их цель удалили. Удали все битые (висячие) символические ссылки, не трогая рабочие ссылки и обычные файлы.

Что потренируешь:
  • символические ссылки
  • find
  • -xtype
  • битые ссылки

Разбор темы

Символическая ссылка хранит путь к цели, а не сами данные; если цель удалить, ссылка становится «висячей» (dangling) — она есть, но ведёт в никуда. find умеет отличать рабочие ссылки от битых через тесты типа: обычный -type смотрит на сам объект, а есть отдельный тест, который разыменовывает ссылку и проверяет, чем оказалась цель. Комбинируя такой отбор с удалением, можно вычистить только мёртвые ссылки, не тронув живые и обычные файлы.

Что проверяется

  1. битых ссылок не осталось
  2. рабочие ссылки и файл целы

Как это выглядит