Жесткие ссылки в линукс

Почему, когда мы выводим информацию о файлах в директории в поле информации о размере файла, который представляет собой hardlink у нас размер совпадает с размером файла, на который ссылается hardlink, но при этом суммарное значение занимаемой памяти файла и hardlink-а не удваивается?


Ответы (1 шт):

Автор решения: Andrew

Потому что по факту это один объект файловой системы и hardlink ссылается на один и тот же inode. inode – это объект файловой системы, содержащий информацию о владельце/группе, которым принадлежит файл или каталог, его права доступа к нему, его размер, тип файла, timestamp-ы отражающие время модификации индексного дескриптора (ctime, changing time), время модификации содержимого файла (mtime, modification time) и время последнего доступа к файлу (atime, access time) и счётчик для учёта количества жёстких ссылок на файл. Каждый inode имеет собственный номер, который присваевается ему файловой системой в момент её создания. Чтобы в этом убедиться можете выполнить команду ls -lih | grep file цифры в самом левом столбце и есть inode файла. Затем создайте жесткую ссылку на файл и выполните ls -lih | grep inode_number и убедитесь, что это один и тот же файл. При создании simlink создается новый файл файловой системы со своим inode, поэтому у него другие характеристики.

→ Ссылка