Я знаю базу 2 и базу 10, МБ и МиБ, но я не понимаю количество байтов, показанное для каталога, du и проводником Windows

493
barlop

Команда du показывает 43G в использовании. Я не уверен, что это база 2 в смысле 2 ^ 30 или база 10 в смысле 10 ^ 9. Но так или иначе -

Выполнение этой команды du из cygwin, чтобы увидеть размер каталога Windows (сделано из административной командной строки - так как в некоторых случаях возникали проблемы с чтением некоторых каталогов)

user@comp ~ $ du -sh /cygdrive/c/windows 43G /cygdrive/c/windows 

Windows Explorer, который, как я понимаю, показывает его в «базе 2» (более крупная единица для КБ, МБ, ГБ, чем базовая 10 КиБ, МБ и т. Д.), И, следовательно, для достижения того же результата требуется меньшее количество этой более крупной единицы.

Проводник Windows показывает

Я знаю базу 2 и базу 10, МБ и МиБ, но я не понимаю количество байтов, показанное для каталога, du и проводником Windows

46,6 ГБ, более 50 миллиардов байт. (по словам Windows Explorer)

или же

46,8 ГБ, более 50 миллиардов байт. (по словам Windows Explorer)

Итак, в сторону.

Даже если я умножу большую цифру, 46,8 ГБ, на 1,048576, я получу, 49.0733568что это не более 50 миллиардов. Так что это часть A вопроса, но также и часть B вопроса, почему цифра du такая низкая.

0
Вероятно, связанные: http://superuser.com/questions/704218/why-is-there-such-a-big-difference-between-size-and-size-on-disk Broots Waymb 8 лет назад 0
@DangerZone no this http://superuser.com/questions/66825/what-is-the-difference-between-size-and-size-on-disk is not. Since as you see in my question, even if I take the size on disk which is the larger figure, and muliply that by 1.048576 then it doesn't reach the total byte count. And i'm not asking why windows explorer shows two difference sizes. I'm not asking difference between actual size and size on disk. barlop 8 лет назад 0
Я сказал связанный, а не дубликат. Кто-то, кто интересуется, почему размеры не равны (как я), может быть любопытно, почему. Твой вопрос заставил меня задуматься. Я не предлагал этот пост в качестве вероятного решения в любом случае. Broots Waymb 8 лет назад 0
Вы смотрели на опцию -k? `-k, показать размеры как кратные 1024 байта, а не 512 байтов` DrZoo 8 лет назад 1
46,8 ГБ (двоичный ГБ, большая единица которого меньше). Итак, как перевести его в десятичные ГБ, меньшая единица которых больше). Так что, если бы это было 46,8 МБ, то это было бы * 1,048576. потому что 46,8 раз 1048576 это сколько байтов. 1.048576 связано с этим. МБ в частности. barlop 8 лет назад 0

1 ответ на вопрос

2
Jamie Hanrahan

Ответ на часть А вопроса заключается в том, что вы не умножаете на правильное число. Поправочный коэффициент от «двоичного ГБ», или, точнее, ГиБ, до байтов не равен 1,048576. Это 1024 куба. Это 1 073 741 824.

46,8 x 1024 в кубах = 50,251,117,363.2 Остальное расхождение связано с ошибкой округления в 46,8. Похоже, это должно быть 46.813 ... что-то.

Вам нужен еще один коэффициент 1024 для каждого «шага» в шкале бинарных префиксов. Например, чтобы перейти от GiB к KiB или от MiB к B, нужно умножить на 1024 в квадрате, что составляет 1 048 576.

См. Статью в Википедии «Двоичный префикс», особенно таблицу внизу этого раздела: https://en.wikipedia.org/wiki/Binary_prefix#Adoption_by_IEC.2C_NIST_and_ISO.