Wie das Thema sagt; Ich möchte wissen, warum jedes Verzeichnis eine Größe von 4 KB hat, auch wenn es Dateien mit einer Größe von mehr als 4 KB enthält.
Bitte schauen Sie sich folgendes an: -
$ 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: Mir ist das du -sh
Befehlszeilenprogramm bekannt.
Edit: Ich gehe von einem Verzeichnis als Container für Dateien aus.
filesystem
files
Ankit
quelle
quelle
Antworten:
ls
zeigt Ihnen , wie bei allem, die Größe dieses Links und nicht den gesamten Speicherplatz, den der Inhalt des Verzeichnisses belegt.quelle
Um dies zu verstehen, sollten Sie Grundkenntnisse über Folgendes (Dateisystem) haben:
In einem typischen
ext4
Dateisystem (was die meisten Leute verwenden)inode
beträgt die Standardgröße 256 Bytes, die Blockgröße 4096 Bytes.Ein Verzeichnis ist nur eine spezielle Datei, die eine Reihe von Dateinamen und Inode-Nummern enthält. Bei der Erstellung des Verzeichnisses hat das Dateisystem dem Verzeichnis einen Inode mit dem Namen "Dateiname" (Dir-Name) zugewiesen. Der Inode zeigt auf einen einzelnen Datenblock (minimaler Overhead), der 4096 Bytes beträgt. Deshalb sehen Sie bei der Verwendung 4096 / 4.0K
ls
.Sie können die Details mit
tune2fs
& abrufendumpe2fs
.Beispiel
quelle
Quelle
quelle