Как 2 unix-файла могут иметь один и тот же индекс, но число ссылок для индекса составляет 1?
Насколько я понимаю, файловая система unix / inode состоит в том, что два имени могут ссылаться на один и тот же номер инода, но в таких случаях счетчик ссылок будет равен 2. Однако сегодня я заметил, что файл / etc / hosts и /private/etc Файл / hosts ссылается на один и тот же номер инода, но счетчик ссылок равен 1. Почему счетчик ссылок 2 не отражает тот факт, что два пути ссылаются на один и тот же индекс?
% ls -li /etc/hosts
38402042 -rw-r--r-- 1 root wheel 236 May 14 23:13 /etc/hosts
% ls -li /private/etc/hosts
38402042 -rw-r--r-- 1 root wheel 236 May 14 23:13 /private/etc/hosts
2 ответа
Жесткие ссылки имеют один и тот же индекс, а жесткая ссылка - это скорее зеркальная копия.
Синтаксис жесткой ссылки: ln file1 file2
если вы удалили файл1, а он остается файлом2.
Я бы посоветовал вам использовать (https://linux.die.net/man/1/namei), чтобы узнать ВСЕ символические ссылки в пути к этому файлу. В одном из ваших комментариев вы указали, что это символическая ссылка на частный / etc. Если вы используете
namei
в / etc / hosts он покажет все пути до файла, включая символические ссылки между ними.