Когда я должен использовать жесткие ссылки, а не мягкие?

10

Я собираюсь начать играть с этим, mklinkно я все еще пытаюсь получить реальную власть над всей этой вещью "символической ссылки". В частности, я заметил, что есть два типа ссылок - «мягкие ссылки» и «жесткие ссылки», - но мне трудно понять разницу между ними, или почему я должен предпочесть одну над другой для любых данный вариант использования.

Максимум, что я смог найти, это:

  • Мягкие ссылки обрабатываются как указатели на целевой файл / папку.
  • Жесткие ссылки обрабатываются так, как если бы они были целевым файлом / папкой.

Что это действительно означает с точки зрения того, как ОС и приложения будут обрабатывать ссылки? Какие факторы должны быть взвешены при принятии решения, использовать ли один или другой?

В настоящее время я использую SkyDrive для синхронизации файлов / папок, которые находятся за пределами действительного каталога SkyDrive . Тем не менее, я бы предпочел, чтобы ответы также включали общие рекомендации для дальнейшего использования.

Iszi
источник

Ответы:

6

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

Невозможно иметь свисающие жесткие ссылки. Каждый файл имеет как минимум одну жесткую ссылку, то есть запись каталога в файловой системе. Таким образом, если вы создаете файл, а затем жесткую ссылку на него, а затем удаляете исходный файл, жесткая ссылка не будет затронута.

Из-за этого жесткие ссылки могут заставить вас поверить, что при удалении файла он действительно исчез, хотя, если вы не удалите ВСЕ жесткие ссылки, файл все равно будет существовать. Большую часть времени вы хотите использовать софт-ссылки, если вы не хотите воспользоваться этим конкретным аспектом жестких ссылок.

LawrenceC
источник
Таким образом, подходящая метафорическая интерпретация будет состоять в том, что мягкая ссылка - это просто ярлык файла, а жесткая ссылка - это синхронизированная копия файла?
Изи
Ну ... имейте в виду, что жесткая ссылка на самом деле не делает дополнительную копию данных файла. Это еще одна запись в физическом каталоге. Таким образом, две жесткие ссылки на файл не изменят используемого дискового пространства.
LawrenceC
Если вы разбираетесь в концепциях программирования, подумайте о мягкой ссылке как о традиционном указателе, а о жесткой ссылке - как об умном указателе.
Пэдди