Удаление файлов и Inodes - PullRequest
       30

Удаление файлов и Inodes

2 голосов
/ 14 января 2012

Я читаю текст в Unix версии 6 и только что узнал об inode.У меня следующий вопрос:

Предположим, у меня есть файл в одном каталоге и ссылка на файл в другом месте.Правильно ли мне сказать, что, если я удалю файл, индекс будет по-прежнему существовать, поскольку refcount не равен 0?И означает ли это, что файл на самом деле не удален, пока существует ссылка, и я могу получить доступ к файлу через номер индекса?

Ответы [ 2 ]

3 голосов
/ 14 января 2012

Да, если ссылка является жесткой ссылкой . Нет, если это просто символическая ссылка .

Жесткая ссылка - это, по сути, один и тот же файл, находящийся в нескольких каталогах, с одним и тем же индексом. Отключение файла от одного из его каталогов просто уменьшает его счетчик ссылок на единицу. Он не будет удален, пока не достигнет нуля.

Символическая ссылка имеет свой собственный индекс и перенаправляет вас на другую запись. Символическая ссылка будет болтаться, если ее цель удалена. Сама символическая ссылка может быть удалена без влияния на целевой файл или каталог.

0 голосов
/ 14 января 2012

Имена файлов - это просто записи в таблицах каталогов, указывающие куда-то на диске.Жесткая ссылка - это просто еще одна запись имени, указывающая на те же данные.Любая последующая жесткая ссылка неотличима от оригинальной записи имени файла.

Таким образом, ответ - да.

...