Gdzie są przechowywane nazwy plików w systemie plików?


44

Gdzie są przechowywane nazwy plików w systemie plików?

Nie ma go w węźle ani z rzeczywistą zawartością pliku, ponieważ mamy twardy link, który dwie nazwy plików mogą wskazywać na ten sam i-węzeł.


4
Ściśle mówiąc, że zależy wyłącznie od którego filesystem mówisz. Nie wszystkie mają i-węzły (lub nawet katalogi).
Michael Borgwardt

NTFS lub FAT12 / 16/32 i wiele innych systemów plików nie ma żadnych i-węzłów
phuclv

Wiele plików ma więcej niż nazwę w więcej niż jednym katalogu. Wszystkie pliki katalogu typu mają co najmniej 2 nazwy, z których jedna jest .w sobie.
Stéphane Chazelas

@ LưuVĩnhPhúc, ntfs robi .. po prostu nazywa to rekordem MFT, ale jest to właściwie i-węzeł.
psusi

Odpowiedzi:


61

Nie znalazłem odpowiedniego duplikatu, więc oto odpowiedź na twoje pytanie.

Nazwy plików i katalogi

fragment

Nazwy plików i implikacje katalogu:

  • i-węzły nie zawierają nazw plików, tylko inne metadane plików.
  • Katalogi uniksowe to listy struktur asocjacyjnych, z których każdy zawiera jedną nazwę pliku i jeden numer i-węzła.
  • Sterownik systemu plików musi przeszukać katalog w poszukiwaniu określonej nazwy pliku, a następnie przekonwertować nazwę pliku na odpowiedni odpowiedni numer i-węzła.

Źródło: strona Wikipedia w Inode

Więc nazwa pliku jest przechowywana w strukturze informacyjnej katalogów. Na przykład:

                         ss of fs

Struktura katalogu

fragment

W systemie plików EXT2 katalogi to specjalne pliki używane do tworzenia i przechowywania ścieżek dostępu do plików w systemie plików. Rysunek 9.3 pokazuje układ pozycji katalogu w pamięci.

Plik katalogu to lista pozycji katalogu, z których każda zawiera następujące informacje:

  • i-węzeł - i-węzeł dla tego wpisu katalogu. Jest to indeks do tablicy i-węzłów przechowywanych w tabeli i-węzłów grupy bloków. Na rysunku 9.3 pozycja katalogu dla pliku o nazwie plik ma odniesienie do i-węzła o numerze i1,
  • name name - długość tego wpisu katalogu w bajtach,
  • name - nazwa tego wpisu katalogu.

Pierwsze dwa wpisy dla każdego katalogu są zawsze standardem, .a ..wpisy oznaczają odpowiednio „ten katalog” i „katalog nadrzędny”.

Oto powyższe odniesienia do rysunku 9.3 :

                 ss # 2

Źródło: Projekt dokumentacji systemu Linux: system plików

Bibliografia


9

Nazwa pliku jest przechowywana w odpowiednim katalogu („plik katalogu”). Ten wpis wskazuje i-węzeł.


1
Nie widzę, w jaki sposób obiekty docelowe dowiązań symbolicznych mogą znaleźć się w pozycjach katalogu. Cel dowiązania symbolicznego można znaleźć w i-węzle dowiązania symbolicznego, ale nie we wpisie katalogu, z którym dowiązanie symboliczne jest połączone, co nie miałoby sensu.
Stéphane Chazelas

@ StéphaneChazelas, samo dowiązanie symboliczne zawiera po prostu inną nazwę, którą zamiast tego należy otworzyć. Wyszukiwanie nazwy rozpoczyna się ponownie od nowej nazwy, która (jeśli w ogóle istnieje) jest gdzieś wpisem do katalogu.
psusi

1

Nazwa pliku jest przechowywana w strukturze danych „katalog”, która ma „(ciąg) nazwa pliku” i odpowiedni „i-węzeł” (i-węzeł). katalog odpowiada za odwzorowanie nazwy pliku -> i-węzeł. aw ode odpowiada za mapowanie i-węzła -> sektora na dysku.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.