Разница между жесткой ссылкой и символической ссылкой (мягкой ссылкой).

Ссылка в UNIX похожа на указатель на файл. Создание ссылок — это своего рода ярлыки для доступа к файлу.

Существует два типа ссылок:

  1. Мягкая ссылка или символические ссылки.
  2. Жесткие ссылки.

Эти ссылки ведут себя по-разному, когда источник ссылки перемещается или удаляется. Символические ссылки не обновляются; жесткие ссылки всегда ссылаются на источник, даже если они перемещены или удалены.

Теперь мы объясним разницу между жесткой ссылкой и мягкой ссылкой.

Жесткие ссылки:

Жесткая ссылка — это ярлык для другого файла, он связан с inode существующего файла.

  • Каждый жестко связанный файл имеет один и тот же номер инода.
  • Жесткие ссылки не допускаются для каталогов.
  • Удаление любой ссылки просто уменьшает количество ссылок, но не влияет на другие ссылки.
  • Даже если мы изменим имя исходного файла, жесткие ссылки будут работать правильно.
  • Его нельзя использовать в файловых системах.
  • Если исходный файл удален, ссылка по-прежнему показывает содержимое файла.
  • Размер любого файла с жесткой ссылкой такой же, как у исходного файла, и если мы изменим содержимое любой из жестких ссылок, размер всех файлов с жесткой ссылкой будет обновлен.
  • Данные, присутствующие в исходном файле, по-прежнему будут доступны в жестких ссылках.
  • Жесткие ссылки работают быстрее.

Команда для создания жесткой ссылки:

ln ‹источник› ‹ссылка›

Символическая ссылка (программные ссылки)

Символическая ссылка — это объект файловой системы, указывающий на другой объект файловой системы. Объект, на который указывают, называется целью.

  • Файлы с программными ссылками получают другой номер индекса.
  • Мягкие ссылки могут использоваться для связывания каталогов.
  • Удаление программной ссылки ни на что не влияет, кроме удаления исходного файла ссылка становится «висячей» ссылкой, которая указывает на несуществующий файл.
  • Его можно использовать в файловых системах.
  • Мягкие ссылки указывают только на имя файла, они не сохраняют данные файла.
  • Если исходный файл удален, ссылка не будет работать, поскольку она не имеет доступа к данным исходного файла.
  • Мягкие ссылки немного медленнее.

Команда для создания мягкой ссылки:

ln -s софтлинк имя_файла