Определение размера папки в кБ в Linux
Размер папки, перевод с байт в кБ, Linux
Доброго времени суток!
Подскажите, пожалуйста, как можно корректно в Linux перевести размер папки с байт в килобайты.
Проблема вот в чем:
1. Вычисляю суммарный размер папки с вложенными в нее папками в байтах.
2. Перевожу с байт в кБ, МБ, ГБ и т.д. простым делением в цикле размера в байтах на 1024. (Пропускаю "ссылку" на текущий и родительский каталог - " . " и " .. ").
3. Вывожу результат и перепроверяю его в Nautilus через свойства папки и получаю несовпадение (мое значение меньше).
В Windows все корректно работает.
Вычислил, что если суммарный размер папки в байтах делить не на 1024, а на приблизительно 1006, то все верно выходит (с небольшой погрешностью в несколько байт).
Не могу понять где проблема.
P.S. Размер пустой папки в Linux - 8,0 КБ.
Рекомендуємо хостинг TIMEWEB
Стабільний хостинг, на якому розміщується соціальна мережа EVILEG. Для проектів на Django радимо VDS хостинг.Вам це подобається? Поділіться в соціальних мережах!
- Akiv Doros
- 12 листопада 2024 р. 01:58
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:50бали,
- Рейтинг балів-4
- molni99
- 26 жовтня 2024 р. 11:37
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:80бали,
- Рейтинг балів4
- molni99
- 26 жовтня 2024 р. 11:29
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:20бали,
- Рейтинг балів-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
Точно, правильно сказано :)