Каковы преимущества символических ссылок по сравнению с жесткими ссылками и наоборот?


10

Я понимаю разницу между символическими и жесткими ссылками, но я никогда не понимал, почему выбирают одно или другое.


2
См. Ответы на «Какая разница между символической ссылкой и жесткой ссылкой?» на StackOverflow: stackoverflow.com/questions/185899/…
pelms

Ответы:


10

Это было обсуждено более подробно на ServerFault.

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

  • Жесткие ссылки должны быть в одной файловой системе, программные ссылки могут пересекать файловые системы.
  • Файлы с жесткими ссылками остаются связанными, даже если вы переместите один из них (если только вы не переместите один в другую файловую систему, запускающую механизм копирования и удаления). Файлы с мягкими связями ломаются, если вы перемещаете цель (оригинал), а иногда и при перемещении ссылки (Использовали ли вы абсолютный или относительный путь? Он все еще действителен?).
  • Файлы с жесткими ссылками совпадают, в то время как оригинал является специальным в программных ссылках, а удаление оригинала удаляет данные. Данные не исчезают, пока все жесткие ссылки не будут удалены.
  • Мягкие ссылки могут указывать на любую цель, но большинство ОС / файловых систем запрещают жесткие ссылки на каталоги, чтобы предотвратить циклы в графе файловой системы (за исключением записей .и в ..каталогах unix, которые являются жесткими ссылками).
  • Мягкие ссылки могут требовать специальной поддержки от инструментов обхода файловой системы. Читайте на readlink (2) .

(Некоторые детали вспомнили mat1t . Спасибо.)


10

Рональд написал жесткую ссылку, может иметь разные разрешения в двух местах. Это неправильно. Оба места имеют один и тот же индекс. Права доступа связаны с индексом, а не с именем файла. Таким образом, жесткие ссылки в двух местах имеют одинаковые разрешения, время доступа, ...


1

символические ссылки могут пересекать файловые системы, жесткие ссылки - нет. Если вы удаляете исходный файл, жесткая ссылка все равно сохраняет его, а символическая ссылка - нет.


0

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

Мягкая ссылка - это просто указатель на реальную вещь.

Жесткая ссылка - это две (или более) записи каталога, указывающие на один и тот же файл. Мягкая ссылка - это запись каталога, указывающая на другую запись каталога.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.