Wikipedia определяет жесткую ссылку как:
запись в каталоге, которая связывает имя с файлом в файловой системе. (Каталог сам по себе является особым видом файла, который содержит список таких записей.) Этот термин используется в файловых системах, которые позволяют создавать несколько жестких ссылок для одного и того же файла.Мне интересно, эквивалентно ли понятие жесткой ссылки концепции Windows Shortcut.
Если жесткие ссылки не эквивалентны ярлыкам, то какая самая близкая функция Windows к жестким ссылкам ?
Хорошее объяснение того, какие мягкие и жесткие ссылки есть, но нужно уточнить одну вещь.
Ярлыки Windows эквивалентны или не похожи ни на мягкие ссылки, ни на жесткие ссылки. На уровне файловой системы это всего лишь файлы. Это оболочка, которая понимает их структуру и интерпретирует их как ссылки. Ярлыки Windows также могут указывать на объекты в пространствах имен оболочек, которые не связаны с файловой системой (принтеры, элементы панели управления, виртуальные папки).
Ярлыки Windows, в дополнение к имени объекта файловой системы , содержат следующую информацию: PIDL (непрозрачный двоичный «путь» в пространстве имен оболочки), описание, горячая клавиша, значок, рабочий каталог. Windows также добавляет идентификаторы объектов NTFS, если используется файловая система NTFS, для исправления сломанных ярлыков.
Грубым эквивалентом ярлыка Windows является файл ни . См. Этот вопрос в SuperUser: есть ли в Linux эквивалент .lnk?
Каждый файл представлен объектом с именем 'inode'. У каждого inode есть число (ID), связанное с ним.
Как известно, люди не умеют запоминать цифры, но имена. (Так развивались телефонные книги)
Поэтому на картинке появилось имя файла, чтобы дать каждому иноду человеку доступное для чтения имя. В основном, hardlink связывает имя файла с inode. Индед может иметь несколько жестких ссылок. Если для конкретного индексного дескриптора нет жестких ссылок, дисковое пространство, используемое inode, может быть перераспределено для новых файлов. Это означает, что для каждого файла должна быть хотя бы одна жесткая ссылка. Имя файла (визуализированное как имя файла / значок, которое вы видите в файловом браузере) само по себе является жесткой ссылкой.
В Windows ярлык представляет собой отдельный файл (* .lnk-файл). Он содержит информацию об исходном файле (понятно, путь к файлу). В восприятии Linux ярлык Windows будет другим inode, привязанным к имени файла, заканчивающегося на .lnk.
В Windows вы также можете создавать жесткие ссылки, если у вас есть файловая система NTFS.
fsutil hardlink create target_file source_file
Файлы должны быть на одном логическом диске.
Большая разница, жесткая ссылка не может быть создана для папок, но для файлов.
Ярлык может быть создан для папок, поэтому вы не можете сказать, что они эквивалентны.В вашем вопросе должна быть разница между символической ссылкой или софт-ссылкой и ярлыком.
в соответствии с этим:
Ярлык можно создать для папок , поэтому вы не можете сказать, что они эквивалентны.
«Ярлык» - это обычный файл, который имеет ссылку на целевой файл или каталог.Символьная ссылка - это уровень файловой системы, и все видит ее как исходный файл. Приложение не нуждается в специальной поддержке для использования символической ссылки.
Поэтому, когда вы нажимаете ярлык, вы меняете свой каталог на фактический файл, а soft-link будет ссылаться на его местоположение, как если бы его фактический файл, для этого в Linux вы можете использовать терминалы и cd для символических ссылок, в то время как вы не можете использовать cd для ярлыков.