Когда я запускал ваш сценарий, у меня были те же результаты, потому что опция -b добавляет размер /proc/kcore
procfs - немного темной магии; в нем нет файлов настоящих. Он выглядит как файловая система, действует как файловая система и является файловой системой. Но не тот, который хранится на диске (или в другом месте).
/ proc / kcore, в частности, это файл, который отображается непосредственно на каждый доступный байт в вашей виртуальной памяти ... Я не совсем уверен в деталях; 128 ТБ поступает из Linux, выделяя 47 бит из 64 бит, доступных для виртуальной памяти.
Когда я использую аргумент -ch для du, он показывает / proc / kcore как 0:
0 / proc / kcore
Но когда я использую -cb, он показывает мой / proc / kcore как:
140737486266368 / proc / kcore
это потому, что опция -b:
-b, --bytes
equivalent to '--apparent-size --block-size=1'
и --apparent-size
:
--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
Ссылка:
/ proc kcore файл огромен
https://linux.die.net/man/1/du