Jak mówi podmiot; Chcę wiedzieć, dlaczego każdy katalog ma rozmiar równy 4K, nawet jeśli zawierają pliki o rozmiarach większych niż 4K.
Proszę spojrzeć na następujące: -
$ ls -lh
total 2.0M
drwxr-xr-x 4 ankit ankit 4.0K Sep 11 07:28 Desktop
$ ls -lrh Desktop/
-rw-rw-r-- 1 ankit ankit 9.1M Aug 4 11:15 sophosthreatsaurusaz.pdf
-rw------- 1 ankit ankit 107K Dec 27 2010 KP 3 0.pdf
drwxrwsr-x 9 ankit ankit 4.0K Sep 10 19:26 eclipse
PS: Mam świadomość du -sh
narzędzia wiersza poleceń.
Edycja: Zakładam, że katalog jest pojemnikiem na pliki.
filesystem
files
Ankit
źródło
źródło
Odpowiedzi:
ls
pokazuje rozmiar tego łącza , a nie całkowitą przestrzeń zajmowaną przez zawartość katalogu.źródło
Aby to zrozumieć, lepiej mieć podstawową wiedzę na temat następujących zagadnień (system plików):
W typowym
ext4
systemie plików (z którego korzysta większość ludzi) domyślnyinode
rozmiar to 256 bajtów, rozmiar bloku to 4096 bajtów.Katalog jest tylko specjalnym plikiem zawierającym tablicę nazw plików i numerów i-węzłów. Kiedy katalog został utworzony, system plików przydzielił 1 i-węzeł do katalogu z „nazwą pliku” (nazwa katalogu w rzeczywistości). I-węzeł wskazuje pojedynczy blok danych (minimalny narzut), który wynosi 4096 bajtów. Dlatego widzisz 4096 / 4.0K podczas używania
ls
.Możesz uzyskać szczegółowe informacje, używając
tune2fs
&dumpe2fs
.Przykład
źródło
Źródło
źródło