Почему команда «du» учитывает шаги по 4 КБ?

Почему команда «du» учитывает шаги по 4 КБ?

Возможный дубликат:
Разница в расчете размера каталога

Я не понимаю, как duработает эта команда под Linux. Я хотел посчитать общий размер нескольких сотен маленьких файлов и du -shполучил что-то около 150 МБ. Я не задавался этим вопросом, пока не понял, что мой файловый менеджер отображает только около 50 МБ для того же набора данных, и я запутался.

Вот что я тогда попробовал:

fkochem@WK-6:~/temp$ cat test 
a
fkochem@WK-6:~/temp$ du -sh test 
4.0K    test

Итак, теперь это должно быть ошибкой? Я посмотрел на du -sh *свои исходные данные и нашел следующее:

4.0K    NCO-0.9.9.9.json
4.0K    NCO-0.99.9.json
4.0K    NCO-0.9.9.json
8.0K    NCO-0.99.json
8.0K    NCO-0.9.json

Почему кажется du, что считается с шагом 4КБ? Что я здесь упускаю?

решение1

du — это использование диска, и он учитывает объем диска, выделенный файлу. Минимальный «размер блока» (т. е. минимальный кусок, выделенный файлу) обычно составляет 4k. Поэтому файловая система учитывает куски по 4k, а не du.

Если вы отформатируете диск следующим образом, то он будет считаться блоками по 1 КБ:

mke2fs -b 1024 /dev/XXX

Связанный контент