> Что такое файловые ссылки в Linux (Go)

Уровень: junior · Роль: backend · Язык: Go · Категория: Технические вопросы

Компании: YADRO

Стек: Go

> Пример ответа

Файловые ссылки в Linux - это механизм, позволяющий нескольким именам файлов указывать на одни и те же данные на диске. Существует два типа: жесткие ссылки (hard links) и символические ссылки (soft/symbolic links).

Жесткая ссылка - это дополнительное имя для того же inode (структуры, хранящей метаданные файла). Все жесткие ссылки на один файл неразличимы: удаление одной не затрагивает другие, данные существуют, пока есть хотя бы одна ссылка. Создаются командой ln, но не могут указывать на каталоги (кроме . и ..) и на файлы в других файловых системах.

Символическая ссылка - это специальный файл, содержащий путь к другому файлу или каталогу. Она похожа на ярлык в Windows. При обращении к ней ОС перенаправляет запрос по указанному пути. Создается через ln -s. Может указывать на несуществующий объект (тогда говорят о "битой" ссылке) и на объекты в других файловых системах.

В контексте Go-разработки это важно, например, при работе с конфигурационными файлами или логами. Функции пакета os (например, os.Stat и os.Lstat) позволяют различать их: Lstat возвращает информацию о самой ссылке, а Stat - о целевом файле. При чтении символических ссылок через os.Readlink получаем строку пути, на который она указывает.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью