Что такое hard link? В чем разница между hard link и soft link?

Категория: Linux

Просмотров: 45

Ответ:

Hard link - это ссылка, которая указывает на физическое местоположение данных на диске (inode). В файловых системах Unix и Unix-подобных систем, каждая запись в каталоге (файл) фактически представляет собой ссылку на inode, где хранятся метаданные файла и сами данные. Жесткая ссылка — это дополнительная запись в каталоге, которая указывает на тот же inode, что и оригинальный файл.

Основные характеристики hard link:

  • Указывает на один и тот же inode, что и оригинальный файл.
  • Жесткие ссылки имеют равный статус с оригиналом, т.е. все они ссылаются на один и тот же файл.
  • Удаление файла не приведёт к удалению данных, пока остаётся хотя бы одна жесткая ссылка на inode.
  • Жесткие ссылки могут быть созданы только на одном и том же файловом разделе (partition).
  • Изменения в одном файле автоматически отражаются в других жестких ссылках, так как все они указывают на один и тот же набор данных.

Soft link - это особый файл, который указывает на другой файл или каталог. Это более гибкий способ создания ссылок, поскольку символическая ссылка указывает не на inode, а на путь к другому файлу.

Основные характеристики:

  • Указывает на путь к другому файлу или каталогу, а не на inode.
  • Символьная ссылка — это отдельный файл, содержащий путь к целевому файлу.
  • Если оригинальный файл удалён, символическая ссылка становится "битой" (неработоспособной), так как она указывает на несуществующий путь.
  • Можно создать символическую ссылку на файл, находящийся на другом разделе или даже на удалённой системе.
  • Символьные ссылки могут ссылаться на каталоги (что невозможно для жестких ссылок).