Odpowiedzi:
Jest to początkowy rozmiar niezbędny do przechowywania metadanych dotyczących plików zawartych w tym katalogu (w tym nazw). Początkowy przydział jest równy rozmiarowi jednego sektora, ale w razie potrzeby może wzrosnąć powyżej tego. Raz przydzielone miejsce nie jest zwalniane, jeśli pliki są usuwane, aby zmniejszyć fragmentację.
Na przykład:
$ mkdir testdir
$ cd testdir
$ ls -ld .
drwxr-xr-x 2 matthew matthew 4096 2007-12-03 20:28 ./
$ for ((i=0; i<1000; i++)); do touch some_longish_file_name_$i; done
$ ls -ld .
drwxr-xr-x 2 matthew matthew 36864 2007-12-03 20:29 ./
$ rm some_longish_file_name_*
$ ls -ld .
drwxr-xr-x 2 matthew matthew 36864 2007-12-03 20:29 ./
$ cd ..
$ ls -ld testdir
drwxr-xr-x 2 matthew matthew 36864 2007-12-03 20:29 testdir/
$ rmdir testdir ; mkdir testdir
$ ls -ld testdir
drwxr-xr-x 2 matthew matthew 4096 2007-12-03 20:29 testdir/
Czasami 4096 bajtów jest najmniejszą jednostką alokacji dla niektórych systemów plików. Właśnie dlatego katalog ma 4096.
To samo dotyczy plików. Chociaż niektóre pliki mogą zgłaszać mniej niż 4096, w rzeczywistości zajmują co najmniej 4096 miejsca na dysku.
4096 jest zarezerwowany w celu zmniejszenia fragmentacji, ponieważ często rzeczywisty rozmiar zawartych metadanych zmienia się w zależności od zawartości katalogu. Jeśli stale rośnie i kurczy się (powiedzmy, że zawiera pliki dziennika lub zawartość dynamiczną) z czasem może to zaszkodzić wydajności. Prawdopodobnie nie zdarzyło się to w przypadku jednego folderu, ale w całym systemie plików byłoby to szybko dodawane.
To zależy od systemu plików. Na ext2 / 3/4 jest to „4096. Na reiserfs może to być 9608 (mój $HOME
) 1032 ( /tmp
) lub 48 (niektóre reż /tmp
.).
Domyślnie w bloku ext2 / 3/4 jest 4096 - i plik nie może zająć mniej. Jeśli plik jest mniejszy, to i tak zajmuje cały blok. Ponieważ nie ma sensu pytać o logiczny rozmiar katalogu, a ta informacja i tak prawdopodobnie nie znajduje się na dysku i musi coś zgłosić, raportując rozmiar bloku razy liczbę wykonanych bloków, tj. Zajmowaną przestrzeń fizyczną.
actual
rozmiar pliku.
\0
jest to charakter prawny w plikach binarnych. PS. Możliwe jest tworzenie FS, które go nie przechowują - ale po prostu nie wysyłają rodzinnie (i prawdopodobnie nie są to żadne inne popularne).