Тратится ли inode при создании жесткой ссылки (hard link)?
Тратится ли inode при создании жесткой ссылки (hard link)? Если да, то почему тратятся?
Ответы (1 шт):
Создадим файл-ссылку с именем hardlink1, которая будет указывать на уже существующий файл file1:
$ ln file1 hardlink1
Что бы убедиться, что по сути оба файла являются одним и тем же объектом файловой системы — сравним их inode-номер, в данном случае — это номер 475949:
$ ls -lih | grep 475949
475949 -rw-r--r-- 2 root setevoy 0B Aug 13 11:51 file1
475949 -rw-r--r-- 2 root setevoy 0B Aug 13 11:51 hardlink1
Как видим — оба файла с разными именами, но имеют общий inode.
В момент создания жесткой ссылки с помощью утилиты ln в файл директории добавляется дополнительная запись. Новое имя файла ставится в соответствие существующей структуре inode. Структура inode содержит счетчик, использующийся для подсчета количества жестких ссылок на нее. В момент, когда значение счетчика уменьшается до нуля, содержимое структуры inode очищается.