21

Я создаю файл с именем file.o, я хочу проверить размер файла file.o.

du -h file.o ====> 4.0K

du -b file.o ====> 1120

в соответствии с du -b file.o , я узнаю, что file.o имеет размер 1120 байт. Но почему du -h file.o выдает 4.0K (означает 4 * 1024 байта)?

2 ответа2

33

Файл меньше по размеру, но занимает один целый 4.0K блок на диске (в одном блоке может быть только один файл). Если бы его размер был (например) 5678 байт, он занимал бы два блока по 4,0 КБ, то есть 8,0 КБ.

du -b печатает размеры в байтах, переопределяя размер блока по умолчанию.

10

Чтобы добавить ответ eumiro, размер блока может быть разным для каждой файловой системы / раздела.

Вы можете найти размер блока файловой системы, используя tune2fs -l /dev/<disk> | grep '^Block size' или stat -c "%o" <file on the disk> .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .