Определение размера папки в кБ в Linux
Размер папки, перевод с байт в кБ, Linux
Доброго времени суток!
Подскажите, пожалуйста, как можно корректно в Linux перевести размер папки с байт в килобайты.
Проблема вот в чем:
1. Вычисляю суммарный размер папки с вложенными в нее папками в байтах.
2. Перевожу с байт в кБ, МБ, ГБ и т.д. простым делением в цикле размера в байтах на 1024. (Пропускаю "ссылку" на текущий и родительский каталог - " . " и " .. ").
3. Вывожу результат и перепроверяю его в Nautilus через свойства папки и получаю несовпадение (мое значение меньше).
В Windows все корректно работает.
Вычислил, что если суммарный размер папки в байтах делить не на 1024, а на приблизительно 1006, то все верно выходит (с небольшой погрешностью в несколько байт).
Не могу понять где проблема.
P.S. Размер пустой папки в Linux - 8,0 КБ.
Рекомендуємо хостинг TIMEWEB
Stabiles Hosting des sozialen Netzwerks EVILEG. Wir empfehlen VDS-Hosting für Django-Projekte.Magst du es? In sozialen Netzwerken teilen!
Kommentare
- sdfsdfkp fgskpgokspdog
- 14. Oktober 2024 15:09
C++ - Тест 004. Указатели, Массивы и Циклы
- Ergebnis:90punkte,
- Bewertungspunkte8
- Максим Васильев
- 2. Oktober 2024 04:14
Qt - Тест 001. Сигналы и слоты
- Ergebnis:68punkte,
- Bewertungspunkte-1
- Лев Семенов
- 30. September 2024 11:04
C++ - Тест 001. Первая программа и типы данных
- Ergebnis:53punkte,
- Bewertungspunkte-4
А вы плюсовали размеры всех папок, которые вложены в директорию, которую проверяете? то есть те самые 8 КБ на каждую папку?
Хотя... я не уверен, что это будет правильное решение.
Рекомендую ещё обратить внимание на скрытые папки и файлы, которые начинаются с ".".
Судя по всему Nautilus их не считает, во всяком случает каталог с Git-репозиторием он у меня не посчитал, показывая 14,7 кБ, хотя внутри папки ещё Git-репозиторий размером в 204 кБ.
Думаю, что не стоит так сильно нацеливаться на точное совпадение с Nautilus
И ещё один момент. Посмотрите в Nautilus размер какого-нибудь видео файла, который будет размером до 1Гб, там очень интересные цифры, например, такие: 684,4 МБ (684 422 753 байта)
То есть там деление размера идёт явно не на 1024, а на 1000 с округлением. Так что бросайте это гиблое дело: угнаться за Nautilus . Скорее всего Вы как раз считаете правильно с точки зрения информатики.
Спасибо.
Я тоже посмотрел на размер файлов и оказывается деление действительно идет на 10000 и размер одного и того же файла в кБ в Linux и Windows разный (в байтах одинаковый).
P.S. Странно к чему бы это?. :)
Я бы назвал это красноглазыми тараканами разработчиков Nautilus
Точно, правильно сказано :)