Пошук усіх жорстких посилань файлу без проходження файлової системи


9

Я бачив на цій сторінці, що в індексах є лічильник посилань, щоб знати, скільки файлів (читайте: "запис у каталозі") вказують на цю індею. Чи є спосіб дізнатися, які каталоги містять такі записи, не обходячи всю файлову систему? Чи зберігається ця інформація десь?

struct inode {
    kdev_t                       i_dev;
    unsigned long                i_ino;
    umode_t                      i_mode;
    nlink_t                      i_nlink;
    uid_t                        i_uid;
    gid_t                        i_gid;
    …
};

Можливо, найшвидший метод - лише з обходом find -inum <n> -samefile path.
ott--

2
@ Ott-- findвикористовується з яких -inum або -samefile , але не з обома.
Hauke ​​Laging

@HaukeLaging Ви праві, лише один з них.
ott--

Відповіді:


10

Ні. Записи каталогів, які вказують на inode, є односторонніми посиланнями. Вставки не вказують на записи каталогу.

Для того, щоб знайти повний перелік записів каталогів, які вказують на inode, вам потрібно пройти через файлову систему, поки ви не знайдете достатньо записів каталогів для обліку кількості посилань inode.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.