Ссылки — это новые имена файлов, указывающие на тот же файл. Создание жесткой ссылки — это создание новой записи каталога (с именем файла ), указывающей на исходный индексный дескриптор файла. Вот почему вы не можете жестко связываться между файловыми системами и почему разрешения метаданных (, xattrs и т. д. )одинаковы для обеих ссылок. В Linux создание жестких ссылок возможно только для файлов, а не для каталогов.
Количество записей каталога отслеживается по счетчику ссылок в индексном узле. Когда создается жесткая ссылка, счетчик ссылок увеличивается. При удалении файла запись в каталоге удаляется, а счетчик ссылок уменьшается. Вы можете проверить количество ссылок во 2-м столбце вывода ls -l
. Удаление одной записи каталога (ссылки )не удаляет остальные.
Если вы создали новую жесткую ссылку в том же каталоге, который содержит целевой файл, что-то вроде rm -rf *
, очевидно, удалит обе ссылки (и пространство, используемое файлом, будет освобождено файловой системой, если ссылка счет идет 0 ).