Найти все жесткие ссылки определенного файла

У меня есть имя файла, для которого я должен получить все hard links(которые находятся в том же каталоге).

Я думал об использовании readlink в комбинации с dir->d_name маневр, но это относится только к мягким ссылкам.

Есть идеи?

1 ответ

Решение

Просмотрите каждый файл в каталоге и lstat() Это. Если его номер индекса (st_ino) совпадает с файлом, который вас интересует, и они имеют одинаковое количество ссылок (st_nlink), что больше 1, то они жестко связаны друг с другом.

(Проверка количества ссылок не является обязательной, но это хорошая проверка на работоспособность.)

Другие вопросы по тегам