Жесткие ссылки

Имя файла в каталоге жестко связано с метаданными (т.е. с содержимым, данными файла) через указатель inode, в то же время сами метаданные существуют независимо от того как их называют в файловой системе и не содержат ссылок на элемент каталога. Поэтому на одни и те же метаданные можно ссылаться из различных каталогов.

Если для одних и тех же физических данных существующего файла создается еще один элемент каталога, то эти дополнительные имена (т.е. элементы каталога) называют жесткими ссылками (или "жесткими связями").

Все жесткие ссылки абсолютно равноправны.

При создании жесткой ссылки, во-первых, информация о физическом размещении данных выносится в файл /.inodes, во-вторых, счетчик ссылок увеличивается на единицу. При удалении одной из жестких ссылок реально будет удален только соответствующий элемент каталога, а счетчик ссылок в inode -записи будет уменьшен на единицу. Созданная inode -запись сохраняется, пока существует файл, даже если счетчик стал равен единице и длина имени файла менее 16 символов. Как только счетчик достигнет значения "нуль", и inode -запись, и физические данные файла будут уничтожены (для уничтожения файла его статус файла должен иметь значение "закрыт").

Нельзя создавать жесткие связи для каталога. Однако каждый каталог имеет две жестко определенные связи:

  • . ("точка")
  • .. ("точка точка")

Имя файла "точка" соответствует текущему каталогу; "точка точка" соответствует каталогу, предшествующему текущему каталогу.

"Точка точка" для каталога "/" - это просто "/", - и подняться выше нельзч.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: