Właśnie zauważyłem, że połączenie między .. a katalogiem nadrzędnym jest hardlink, mają one ten sam numer i-węzła:
starpinker@host /home/starpinker/unix $ ls -ail
8200794 drwxrwxr-x 2 starpinker starpinker 4096 Aug 23 11:22 .
1409238 drwxrwxr-x 2 starpinker starpinker 4096 Aug 23 11:22 ..
gdzie numer-węzła /home/starpinker/unix
Is 8200794
oraz numer i-węzła /home/starpinker
jest dokładnie 1409238
.
Mam pytanie w tej sprawie:
Nie można utworzyć twardego łącza w różnych systemach plików. Co więc, jeśli katalog nadrzędny i katalog podrzędny znajdują się w różnych systemach plików? Na przykład w moim przypadku, jeśli /home/starpinker
i /home/starpinker/unix
są w innym systemie plików, unix jest tylko punktem montowania, to czy łącze między /home/starpinker/unix/..
i /home/starpinker
nadal będzie hardlink?
linux
unix
filesystems
hardlink
StarPinkER
źródło
źródło
/
który jest..
do tego przeznaczony. Nie wiem jednak, jak to działa. Jeśli po pewnym czasie nie otrzymasz odpowiedzi, spróbuj zgłosić migrację do U&L . Pytanie jest na ten temat na obu stronach i chętnie tu pozostanie, jest tylko więcej twardych * ekspertów nix na temat U&L.Odpowiedzi:
Dlaczego jest to hardlink? Ponieważ wskazuje na katalog nadrzędny. Co jeszcze może być, jeśli nie link?
Do katalogu głównego systemu plików,
..
to nadal to dowiązanie symboliczne - ale zwraca się do samego katalogu, to znaczy, że to odpowiednik.
. Warstwa VFS jądra (która zarządza punktami montowania i systemami plików) obsługuje ten specjalny przypadek i magicznie rozwiązuje/home/starpinker/unix/..
go/home/starpinker
bez patrzenia na system plików.(Poza tym nie badałem tego, ale myślę, że niektóre systemy plików tak naprawdę nie przechowują linków
.
i..
na dysku, ale zamiast tego prezentują emulowane. Nie zaskoczyłoby mnie, gdyby warstwa VFS faktycznie zrobiła to dla wszystkich..
linków, a nie tylko specjalny przypadek ...)źródło