Жесткие связи и соединения
Файловая система NTFS поддерживает три типа файлов: жесткие ссылки, соединения и символьные ссылки. В этой статье представлен обзор жестких ссылок и соединений. Сведения о символьных ссылках см. в разделе "Создание символьных ссылок".
Жесткие связи
Жесткая ссылка — это представление файла в файловой системе, с помощью которого несколько путей ссылается на один файл в одном томе. Чтобы создать жесткую ссылку, используйте функцию CreateHardLinkA .
Любые изменения, внесенные в жестко связанный файл, мгновенно видны приложениям, которые обращаются к нему с помощью ссылок, ссылающихся на него. Атрибуты файла отражаются в каждой жесткой ссылке на этот файл, и изменения атрибутов этого файла распространяются на все жесткие ссылки. Однако размер записи каталога и сведения о атрибутах файла заметно обновляются только по ссылке, с помощью которой было сделано изменение. Например, если вы очищаете флаг атрибута только для чтения на определенной жесткой ссылке, чтобы удалить эту жесткую ссылку, и есть несколько жестких ссылок к файлу, другие жесткие ссылки отображаются, что атрибут только для чтения по-прежнему задан, который не имеет значения true. Чтобы изменить файл обратно в состояние только для чтения, необходимо задать флаг только для чтения в файле из одной из оставшихся жестких ссылок.
Например, в системе, где C:
и являются локальными дисками и D:
Z:
является сетевым диском, сопоставленным \\fred\share
с, следующие ссылки разрешены в виде жесткой ссылки:
C:\dira\ethel.txt
связана сC:\dirb\dirc\lucy.txt
D:\dir1\tinker.txt
связана сD:\dir2\dirx\bell.txt
C:\diry\bob.bak
связана сC:\dir2\mina.txt
Это связано с тем, что все ссылки являются файлами на одном томе. Жесткие ссылки не могут ссылаться на каталоги, только файлы и не могут ссылаться на файлы на разных томах.
Следующие ссылки не разрешены.
C:\dira
связана сC:\dirb
C:\dira\ethel.txt
связана сD:\dirb\lucy.txt
C:\dira\ethel.txt
связана сZ:\dirb\lucy.txt
Чтобы удалить жесткую ссылку, используйте функцию DeleteFileA . Вы можете удалять жесткие ссылки в любом порядке независимо от порядка их создания.
Соединения
Соединение (также называемое обратимой ссылкой) отличается от жесткой связи в том, что объекты хранилища, на которые она ссылается, являются отдельными каталогами. Соединение также может связывать каталоги, расположенные на разных локальных томах на одном компьютере. В противном случае соединения работают одинаково с жесткими ссылками. Соединения реализуются с помощью точек повторного анализа.
При условии, что те же условия в разделе "Жесткие ссылки" разрешены в качестве соединений:
C:\dira
связана сC:\dirb\dirc
C:\dirx
связана сD:\diry
Следующие ссылки не допускаются, так как они ссылаются на сопоставленные сетевые тома или ссылаются на файлы напрямую:
C:\dira\one.txt
связана сC:\dirb\two.txt
C:\dir1
связана сZ:\dir2