Я слышал, что теперь можно создавайте софт-ссылки в Vista тоже, Итак, в чем разница между мягкой (символической) ссылкой и жесткой ссылкой в UNIX / Linux / Vista?
Есть ли преимущества использования одного над другим? Или они просто служат двум целям?
Жесткая ссылка традиционно разделяет одни и те же структуры файловой системы (inode в unixspeak), а soft-link - перенаправление пути.
- Жесткие ссылки должны быть в одной файловой системе, программные ссылки могут пересекать файловые системы.
- Файлы с жесткой привязкой остаются связанными, даже если вы перемещаете любой из них (если вы не переместили одну из них в другую файловую систему, запускающую механизм копирования и удаления). Софтсвязанные файлы ломаются, если вы перемещаете цель (оригинал), а иногда и при перемещении ссылки (используется ли абсолютный или относительный путь?).
- Файлы с жесткой привязкой совпадают, в то время как оригинал является специальным в программных ссылках, а удаление оригинала удаляет данные. Данные не исчезают до тех пор, пока все hardlinks удаляются.
- Софтлинки могут указывать на Любые , но большинство ОС / файловых систем запрещают каталоги жесткой привязки для предотвращения циклов на графике файловой системы (за исключением
.
а также ..
записи в каталогах unix, которые являются жесткими ссылками).
- Softlinks может потребовать особой поддержки от инструментов для ходьбы в файловой системе. Следить за публикациями readlink (2),
(Некоторые детали вернулись к mat1t, Благодаря.)
Резюме состоит в том, что символическая / короткая ссылка действует как ярлык для местоположения первого файла, тогда как жесткая ссылка является ярлыком для файла на диске.
Если вы удалите цель софт-ссылки, то программная ссылка перестанет работать, но если вы удалите одну копию жесткой ссылки, файл останется на диске, пока все жесткие ссылки на нее не будут удалены. Фактически все имена файлов являются жесткими ссылками на файл на диске.
Существуют также определенные ограничения, например, я не думаю, что вы можете создавать жесткие ссылки в папках, но вы можете создавать их софт-ссылки. Мягкие ссылки также могут указывать на файлы / папки на разных дисках и разделах, тогда как жесткие ссылки не могут.
Система MS Windows всегда использует программные ссылки (ярлыки). То есть, ссылка просто действует как ярлык, указывающий на расположение файла. Если местоположение оригинала перемещено, соединение прерывается. Кроме того, то, что вы делаете с ярлыком (например, изменение разрешений или изменение имени ярлыка), не влияет на фактический файл.
Поэтому вопрос начался с неправильного предположения. Да, Vista использует программные ссылки, но это не ново, это waht ярлык MS.