Неправильний вихід дю?


12

Я думаю, що моя команда du заплутана.

% du -shc DIR ...
...
6123941496      total

% du -shc DIR ...
...
6.1G    total

% du -sc --si DIR ...
...
6.6G    total

Я спробував дати LANG=Cта подвійно перевірити результат у електронній таблиці. Схоже, -h вже виводить, використовуючи потужність 1000 (--si), і --si дає неправильну відповідь. Я думаю, що правильна відповідь повинна бути 5,7G для -h та 6,1G для --si. То що ж тут відбувається?

% du --version
du (GNU coreutils) 8.20
...

% uname -a
Linux XXX 3.9-1-amd64 #1 SMP Debian 3.9.8-1 x86_64 GNU/Linux

3
Будь ласка, включіть фактичні команди. Що ...представляють? Ви, здається, двічі виконали одну і ту ж команду і отримали різні результати, це так? Ви читали пояснення модифікаторів розміру в man du?
terdon

Відповіді:


18

Повторіть свої тести за допомогою --apparent-sizeперемикача.

$ du -shc --apparent-size DIR ...

уривок зі сторінки du man

--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

1
Так, мабуть, -b еквівалентно '--apparent-size --block-size = 1'. Я пропустив це. Використання "du -shc --apparent-size" тепер правильно дає 5,7G. Дякую!
Геррі Луфванса

@GerryLufwansa - так, коли ви починаєте змішувати різні файлові системи чи змонтовані CIFS, це стає помітним. Я завжди використовую -bабо --apparent-size.
slm

... і різниця може бути справді величезною в системах HSM, де мігруючі файли повідомляють 0 (або щось на кшталт кількох кБ) без --apparent-size.
Ansgar Esztermann

Будь-яке рішення для цього, duщо поставляється з Mac OS X?
Алек Якобсон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.