Определение размера папки в кБ в Linux
Размер папки, перевод с байт в кБ, Linux
Доброго времени суток!
Подскажите, пожалуйста, как можно корректно в Linux перевести размер папки с байт в килобайты.
Проблема вот в чем:
1. Вычисляю суммарный размер папки с вложенными в нее папками в байтах.
2. Перевожу с байт в кБ, МБ, ГБ и т.д. простым делением в цикле размера в байтах на 1024. (Пропускаю "ссылку" на текущий и родительский каталог - " . " и " .. ").
3. Вывожу результат и перепроверяю его в Nautilus через свойства папки и получаю несовпадение (мое значение меньше).
В Windows все корректно работает.
Вычислил, что если суммарный размер папки в байтах делить не на 1024, а на приблизительно 1006, то все верно выходит (с небольшой погрешностью в несколько байт).
Не могу понять где проблема.
P.S. Размер пустой папки в Linux - 8,0 КБ.
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.Do you like it? Share on social networks!
- Akiv Doros
- Nov. 11, 2024, 2:58 p.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:50points,
- Rating points-4
- molni99
- Oct. 26, 2024, 1:37 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:80points,
- Rating points4
- molni99
- Oct. 26, 2024, 1:29 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:20points,
- Rating points-10
А вы плюсовали размеры всех папок, которые вложены в директорию, которую проверяете? то есть те самые 8 КБ на каждую папку?
Хотя... я не уверен, что это будет правильное решение.
Рекомендую ещё обратить внимание на скрытые папки и файлы, которые начинаются с ".".
Судя по всему Nautilus их не считает, во всяком случает каталог с Git-репозиторием он у меня не посчитал, показывая 14,7 кБ, хотя внутри папки ещё Git-репозиторий размером в 204 кБ.
Думаю, что не стоит так сильно нацеливаться на точное совпадение с Nautilus
И ещё один момент. Посмотрите в Nautilus размер какого-нибудь видео файла, который будет размером до 1Гб, там очень интересные цифры, например, такие: 684,4 МБ (684 422 753 байта)
То есть там деление размера идёт явно не на 1024, а на 1000 с округлением. Так что бросайте это гиблое дело: угнаться за Nautilus . Скорее всего Вы как раз считаете правильно с точки зрения информатики.
Спасибо.
Я тоже посмотрел на размер файлов и оказывается деление действительно идет на 10000 и размер одного и того же файла в кБ в Linux и Windows разный (в байтах одинаковый).
P.S. Странно к чему бы это?. :)
Я бы назвал это красноглазыми тараканами разработчиков Nautilus
Точно, правильно сказано :)