Dies ist die anfängliche Größe, die zum Speichern der Metadaten zu den in diesem Verzeichnis enthaltenen Dateien (einschließlich Namen) erforderlich ist. Die anfängliche Allokation entspricht der Größe eines Sektors, kann aber bei Bedarf darüber hinaus wachsen. Einmal zugewiesener Speicherplatz wird nicht freigegeben, wenn Dateien entfernt werden, um die Fragmentierung zu reduzieren.
Zum Beispiel:
$ 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/
Quelle
Manchmal sind 4096 Bytes die kleinste Zuordnungseinheit für einige Dateisysteme. Deshalb hat das Verzeichnis 4096.
Das Gleiche gilt für Dateien. Auch wenn einige Dateien weniger als 4096 melden, nehmen sie tatsächlich mindestens 4096 Speicherplatz auf der Festplatte ein.
4096 ist reserviert, um die Fragmentierung zu reduzieren, da die tatsächliche Größe der enthaltenen Metadaten häufig je nach Verzeichnisinhalt schwankt. Wenn es im Laufe der Zeit ständig wächst und schrumpft (sagen wir, es enthält Protokolldateien oder dynamische Inhalte), kann dies die Leistung beeinträchtigen. Dies würde wahrscheinlich nicht mit einem Ordner passieren, aber über das gesamte Dateisystem würde es sich schnell summieren.