Uważam, że w moim katalogu głównym jest kilka katalogów, które mają ten sam numer i-węzła:
$ ls -aid */ .*/
2 home/ 2 tmp/ 2 usr/ 2 var/ 2 ./ 2 ../ 1 sys/ 1 proc/
Wiem tylko, że nazwy katalogów są przechowywane w katalogu nadrzędnym, a ich dane są przechowywane w węźle samych katalogów.
Jestem tu zmieszany.
Tak myślę, gdy śledzę ścieżkę / home / user1.
- Najpierw wchodzę do i-węzła 2, który jest katalogiem głównym zawierającym listy katalogów.
- Potem znajduję nazwę domu połączoną z inode 2.
- Więc wracam na dysk, żeby znaleźć i-węzeł 2?
- Dostaję tutaj nazwę user1?
linux
filesystems
inode
youxiao
źródło
źródło
Odpowiedzi:
Są na różnych urządzeniach.
Jeśli spojrzymy na wynik
stat
, możemy również zobaczyć urządzenie, na którym znajduje się plik:Więc te dwa są na osobnych urządzeniach / systemach plików. Numery i-węzłów są unikalne tylko w systemie plików, więc nie ma w tym nic niezwykłego. Na ext2 / 3/4 i-węzeł 2 jest również zawsze katalogiem głównym , więc wiemy, że są to katalogi główne odpowiednich systemów plików.
Kombinacja numeru urządzenia + i-węzła prawdopodobnie będzie unikalna w całym systemie. (Istnieją systemy plików, które nie mają i-węzłów w tradycyjnym znaczeniu, ale myślę, że i tak muszą sfałszować jakiś unikalny identyfikator na swoim miejscu).
Numery urządzeń wydają się być takie same, jak te pokazane w węzłach urządzenia, więc
/dev/sda1
utrzymuje system plików, w którym/
jest włączony:źródło
Numer i-węzła dowolnego pliku jest unikalny dla systemu plików, ale niekoniecznie jest unikalny dla wszystkich systemów plików zamontowanych na danym hoście. Jeśli masz wiele systemów plików, zobaczysz zdublowane numery i-węzłów między systemami plików, jest to normalne.
źródło