Ini selalu membuat saya bingung. Mengapa direktori root berisi referensi ke direktori induk?
[email protected]:/$ ls -a . build home lib32 mnt .rpmdb sys vmlinuz .. cdrom initrd.img lib64 opt sbin tmp vmlinuz.old bin dev initrd.img.old lost+found proc selinux usr boot etc lib media root srv var
Saya mengerti bagaimana direktori dikelola dalam sistem file – setiap direktori memiliki n+2 pointer ke dirinya sendiri (n =jumlah subdirektori di dalam direktori). Satu untuk setiap subdirektori langsung, satu untuk induknya, dan satu untuk dirinya sendiri.
Tapi apa itu /
orang tua?
Jawaban yang Diterima:
/..
menunjuk ke /
:
$ ls -id /
2 /
$ ls -id /..
2 /..
Keduanya memiliki nomor inode yang sama, yang kebetulan 2 pada sistem ini. (Nilai pastinya tidak penting.)
Itu dilakukan untuk konsistensi. Dengan cara ini, tidak perlu ada kode di kernel untuk memeriksa di mana saat ini ketika memproses ..
di sebuah jalan. Anda bisa mengucapkan cd ..
selamanya, dan tidak pernah lebih dalam dari akarnya.