Menemukan semua tautan keras file tanpa melintasi sistem file

9

Saya telah melihat di halaman ini bahwa inode memiliki penghitung tautan untuk mengetahui berapa banyak file (baca: "entri direktori") mengarah ke inode ini. Apakah ada cara untuk mengetahui direktori mana yang berisi entri seperti itu tanpa melintasi seluruh sistem file? Apakah informasi ini disimpan di suatu tempat?

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;
    …
};
qdii
sumber
Metode tercepat - hanya dengan traversal - mungkin find -inum <n> -samefile path.
ott--
2
@ ott - finddigunakan dengan salah satu -inum atau -samefile tidak dengan keduanya.
Hauke ​​Laging
@ HaukeLaging Anda benar, hanya satu dari mereka.
ott--

Jawaban:

10

Tidak. Entri direktori yang menunjuk ke inode adalah tautan satu arah. Inode tidak menunjuk kembali ke entri direktori.

Untuk menemukan daftar lengkap entri direktori yang mengarah ke inode, Anda perlu melintasi sistem file sampai Anda menemukan cukup entri direktori untuk memperhitungkan jumlah tautan inode.

Celada
sumber