Я знаю, что размер самого каталога отличается от размеров файлов в нем.
Я думаю о каталоге как о списке каталогов и файлов внутри, поэтому размер каталога должен быть связан с количеством файлов / каталогов внутри, с минимальным размером 4096 байт из-за ограничения размера блока.
Но в моей системе у меня есть много хорошо заполненных каталогов с 4096 байтами, и некоторые каталоги, которые значительно менее заполнены, около 10 мегабайт. Не могли бы вы объяснить мне, почему это происходит?
Ответы:
Используемая файловая система, а максимальное количество объектов в этом каталоге в любой момент времени определяет размер. Как только размер, зарезервированный для каталога по умолчанию, исчерпан, для каталога выделяется больше места. Однако, когда количество объектов уменьшается, выделенное пространство не освобождается автоматически. Таким образом, если в какой-то момент каталог содержит 10 миллионов объектов, он останется неизменным, если 9 999 999 из них будут удалены. Это приводит к интересным ситуациям, как в этом посте Unix & Linux .
Это не обязательно относится к другим файловым системам. В
ext{2,3,4}
файловых системах затронуты. NTFS есть, в меньшей степени.tmpfs
и btrfs нет. ZFS довольно консервативен, я получил вывод2
для второйstat
команды.Связанные с:
источник