GNU/Linux >> Belajar Linux >  >> Linux

Mengapa '/' Memiliki Entri '..'?

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.


Linux
  1. Mengapa Sudo Mengabaikan Alias?

  2. Apakah Curl Memiliki Timeout?

  3. Mengapa Saya Tidak Dapat Menggunakan Cd Dalam Skrip Bash??

  1. Dalam `sementara Ifs=Read..`, Mengapa Ifs Tidak Berpengaruh?

  2. Mengapa Rm -rf Dan Bukan Rmdir -rf?

  3. Apakah Python memiliki argumen argc?

  1. Mengapa folder harus dapat dieksekusi?

  2. Apa itu GPU Matrox dan mengapa server UNIX universitas saya memilikinya?

  3. Mengapa sistem saya hanya menampilkan RAM 3,2 GiB padahal saya pasti memiliki 4,0 GiB