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

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

10
задан 08.09.2009, 21:03

4 ответа

Это было обсуждено в некоторых деталях о ServerFault.

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

  • Hardlinks должен быть в той же файловой системе, softlinks может пересечь файловые системы.
  • Файлы Hardlinked остаются связанными даже при перемещении любого из них (если Вы не перемещаете тот в другую файловую систему, инициировавшую механизм копировать-и-удалять). Файлы Softlinked повреждаются при перемещении (исходной) цели, и иногда при перемещении ссылки (Вы использовали полный или относительный путь? Это все еще допустимо?).
  • Файлы Hardlinked равны, в то время как оригинал является особенным в softlinks, и удаление оригинала удаляет данные. Данные не уходят, пока все hardlinks не удалены.
  • Softlinks может указать на любую цель, но большая часть ОС/файловых систем не разрешает hardlinking каталогам предотвращать циклы в графике файловой системы (за исключением . и .. записи в каталогах Unix, которые являются жесткими ссылками).
  • Softlinks может потребовать специальной поддержки со стороны инструментов обхода файловой системы. Читайте на readlink (2).

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

10
ответ дан 07.12.2019, 12:41

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

10
ответ дан 07.12.2019, 12:41

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

1
ответ дан 07.12.2019, 12:41

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

Гибкая ссылка является просто указателем на реальную вещь.

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

0
ответ дан 07.12.2019, 12:41

Теги

Похожие вопросы