2

Я получаю этот вывод при проверке общего количества места, которое я использую на Walkman.

david@Milton:/media$ du -b --max-depth=0 WALKMAN/
14823290693 WALKMAN/
david@Milton:/media$ du -k --max-depth=0 WALKMAN/
14523776    WALKMAN/

Последнее, что я проверил, 14,523,776 KB * 1024 = 14,872,646,624 B , а не 14,823,290,693 B Разделив их, их единица "К" кажется равной примерно 1020.62 а не 1024 как рекламируется. Это вызывает некоторые ошибки в программе, которую я написал, чтобы синхронизировать мой Walkman, поэтому он заполняется быстрее, чем он утверждает. Кто-нибудь может объяснить это несоответствие?

1 ответ1

3

du -b описывается в справочной документации (du --help) как:

  -b, --bytes           equivalent to `--apparent-size --block-size=1'

где

      --apparent-size   print apparent sizes, rather than disk usage; although
                      the apparent size is usually smaller, it may be
                      larger due to holes in (`sparse') files, internal
                      fragmentation, indirect blocks, and the like

du -k, напротив, обеспечивает

  -k                    'like --block-size=1K'

Таким образом, du -k показывает использование файла диском, а du -b - «видимый размер» файла. Видимый размер обычно (но не всегда) меньше.

(Источник: отчет об ошибке в coreutils).

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