Допустим, когда я делаю ls -li
это в каталоге, я получаю это:
12353538 -rw-r--r-- 6 me me 1650 2013-01-10 16:33 fun.txt
Как показывает вывод, файл fun.txt имеет 6 жестких ссылок; и номер индекса 12353538 .
Учитывая ситуацию, как мне найти все жесткие ссылки для файла, т.е. файлы с одинаковым номером инода?
find
достаточно умен, чтобы использовать их неявно. Обычно вы должныfind
указать путь поиска и указать, что он не должен покидать эти файловые системы (через символические ссылки или точки монтирования). Но при поиске жестких ссылок становится ясно, в какой файловой системе искать.-xdev
чтобы избежать перехода в каталоги в других файловых системах, в противном случае вы можете найти другой файл с таким же номером инода, расположенный в другой файловой системе.-samefile
HP-UX, является-linkedto
(хотя он немного отличается: например, необходимо указать путь поиска).find /mount/point -samefile /mount/point/your/file
Если у вас уже есть номер индекса, вы можете использовать
-inum
опцию поиска :источник
find /mount/point -inum 12353538
. В противном случае find будет выглядеть только в текущей папке.