Рекомендуем, 2024

Выбор редакции

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

Ссылки в Unix - это, по сути, указатели, которые ассоциируются с файлами и каталогами. Основное различие между жесткой ссылкой и мягкой ссылкой заключается в том, что жесткая ссылка - это прямая ссылка на файл, тогда как мягкая ссылка - это ссылка по имени, что означает, что она указывает на файл по имени файла.

Жесткая ссылка связывает файлы и каталоги в одной файловой системе, но мягкая ссылка может пересекать границы файловой системы.

Прежде чем разбираться со ссылками, мы должны сначала понять, inode, inode - это структура данных, состоящая из метаданных о файле, таких как дата создания файла, авторизация файла, владелец файла и многое другое.

Сравнительная таблица

Основа для сравненияЖесткая ссылка
Мягкая ссылка
основнойК файлу можно получить доступ через множество разных имен, известных как жесткие ссылки.Доступ к файлу можно получить с помощью различных ссылок, указывающих на этот файл, называемый мягкой ссылкой.
Проверка ссылки при удалении исходного файлаВсе еще в силе и файл может быть доступен.
Недействительным
Команда, использованная для созданияпер
ls-s
номер индексаТак же
Разные
Может быть связаноНа свой раздел.Для любой другой файловой системы, даже в сети.
Потребление памятиМеньшеБольше
Относительный путьНепригодныйПозволил

Определение жесткой ссылки

Жесткие ссылки напрямую связывают два файла в одной файловой системе и для идентификации используют номер индекса файла. Жесткие ссылки не могут быть реализованы в каталогах (так как они указывают на inode). Когда команда « ln » используется для создания жесткой ссылки, она создает в командной строке другой файл, который можно использовать для ссылки на исходный файл. Как исходный, так и сгенерированный файл имеют одинаковые inode и content; следовательно, они будут иметь одинаковые разрешения и одного и того же владельца.

Удаление исходного файла не влияет на жестко связанный файл, и жесткий связанный файл останется. Индод содержит счетчик, который вычисляет количество жестких ссылок на себя. Когда счетчик показывает значение 0, индекс освобождается. Всякий раз, когда вы вносите какие-либо изменения в жесткую ссылку, она будет имитировать в исходном файле.

Определение мягкой ссылки

Мягкие ссылки обычно являются альтернативным путем (или псевдонимом) для исходного файла; они также упоминаются как символические ссылки . Он включает в себя имя «целевого файла» ссылки, флаг, который указывает, что это мягкая ссылка. При обращении к файлу программная ссылка перенаправляет его в целевой файл по пути, указанному в теме программной ссылки.

Это очень удобно в случае ОС Windows, где программная ссылка работает как ярлыки. Создание и удаление программных ссылок не влияют на исходный файл. Если целевой файл удален, мягкая ссылка свисает, что означает, что она никуда не указывает и генерирует сообщение об ошибке при доступе к целевому файлу. Мягкие ссылки не используют номер инода, в отличие от жесткой ссылки. Абсолютный или относительный путь может быть частью символических ссылок.

Ключевые различия между жесткой ссылкой и мягкой ссылкой

  1. Жесткая ссылка - это дополнительное имя исходного файла, которое ссылается на inode для доступа к целевому файлу. Напротив, мягкая ссылка отличается от исходного файла и является псевдонимом исходного файла, но не использует inode.
  2. Когда исходный файл удаляется, мягкая ссылка становится недействительной, тогда как жесткая ссылка действительна, даже если целевой файл удален.
  3. В Linux для создания жесткой ссылки используется команда « ln ». В отличие от этого, для мягкой ссылки используется команда « ln -s ».
  4. Жесткая ссылка имеет тот же номер инода, который отличается от мягкой ссылки, где целевой файл и его мягкая ссылка имеют различный номер инода.
  5. Жесткие ссылки ограничены его собственными разделами, но программные ссылки могут охватывать различные файловые системы.
  6. Производительность жесткой ссылки в некоторых случаях лучше, чем мягкой ссылки.
  7. Относительный путь и абсолютный путь разрешены в мягких ссылках. Напротив, относительный путь не разрешен в жесткой ссылке.

Заключение

Жесткая ссылка не требует дополнительного места и мат разрешается быстрее, но изменения, примененные к жесткой ссылке, отражаются в исходном файле. С другой стороны, для Soft-ссылки требуется дополнительное пространство, но любое изменение в Soft-ссылке не влияет на исходный файл. Мягкие ссылки разрешены в каталогах в отличие от жестких ссылок.

Top