Cybersecurity
May 29
Что такое симлинк и хардлинк?
1. Симлинк (Symbolic Link) и Хардлинк (Hard Link)
Хардлинк (жёсткая ссылка)
Хардлинк — это альтернативное имя для уже существующего файла, которое указывает на тот же самый набор данных на диске (inode / MFT-запись в NTFS).
У файла может быть несколько имён (хардлинков), но все они ведут к одним и тем же данным.
Примеры и особенности:
- Удаление одного хардлинка не удаляет данные, пока остаются другие хардлинки.
- Все хардлинки равнозначны — нет «основного» файла.
- Все хардлинки должны находиться на одном разделе/томе.
- В NTFS: каждая запись в MFT указывает на данные и содержит счётчик ссылок.
Пример (в Windows через fsutil или в Linux: ln file1 file2):
bashCopyEditln original.txt link.txt # хардлинк
Симлинк (symbolic link, символическая ссылка)
Симлинк — это ярлык, который указывает на путь к другому файлу или каталогу.
Это отдельный файл, который просто содержит путь к другому объекту.
Примеры и особенности:
- Если удалить оригинальный файл, симлинк становится «битым» (не работает).
- Симлинки можно создавать на файлы и папки, на разных разделах и даже сетях.
- В NTFS симлинки — это специальные файлы с атрибутом Reparse Point.
Пример (в Windows: mklink, в Linux: ln -s):
bashCopyEditln -s original.txt symlink.txt # симлинк