Вопросы с собеседований. Часть 1. Про hardlink и symlink.

Привет. В процессе собеседований на Linux-администратора испытуемым задается большое количество интересных вопросов. В большинстве своём это отличные векторы для изучения системы и мне показалось хорошей идеей разобрать часть из них. Сегодня поговорим про вопросы, связанные с линками в Linux.

1. Что такое hard-link, чем он отличается от sym-link?
2. Как найти все хард-линки, ведущие в одно и тоже место?

К любому из этих вопросов можно задать усложняющие — простых ответов вида «ln и find» вам может не хватить, поэтому давайте попробуем копнуть глубже.

Начнем с того, что Linux работает с файловыми системами не напрямую, а использует для этого VFS(Virtual File System) — абстракцию, которая позволяет собрать в одном корне партиции с разными файловыми системами. Секрет заключается в том, что интерфейс VFS предоставляет для драйверов файловых систем механизм взаимодействия, который описывает типичные действия с файловой системой(например — создание файла). Схема взаимодействия выглядит так:

Читать далее