Как говорит субъект; Я хочу знать, почему каждый каталог имеет размер 4 КБ, даже если они содержат файлы размером более 4 КБ.
Пожалуйста, обратите внимание на следующее:
$ 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: я в курсе du -sh
утилиты командной строки.
Изменить: я предполагаю, каталог в качестве контейнера для файлов.
filesystem
files
Анкит
источник
источник
Ответы:
ls
показывает размер этой ссылки , а не общее пространство, занимаемое содержимым каталога.источник
Чтобы понять это, вам лучше иметь базовые знания о следующем (файловая система):
В типичной
ext4
файловой системе (которую использует большинство людей)inode
размер по умолчанию составляет 256 байт, размер блока - 4096 байт.Каталог - это просто специальный файл, который содержит массив имен файлов и номеров узлов. Когда каталог был создан, файловая система выделила 1 индекс для каталога с именем «имя файла» (фактически имя dir). Индекс указывает на один блок данных (минимальные издержки), который составляет 4096 байтов. Вот почему вы видите 4096 / 4.0K при использовании
ls
.Вы можете получить подробную информацию, используя
tune2fs
&dumpe2fs
.пример
источник
Источник
источник