Найти размер файла в МБ

Найти размер файла в МБ

Как узнать размер файла в МБ в командной строке UNIX?

решение1

Если ваша lsподдержка --block-size, например GNU coreutils, lsделает:

ls -s --block-size=1048576 filename | cut -d' ' -f1

решение2

du -h file

ИЛИ

ls -lh file

РЕДАКТИРОВАТЬ

этот ответ неверен, поскольку он может сообщать размер также в Гб/Кб, в зависимости от размера файла.Пожалуйста, удалите положительные голоса.

решение3

Я обычно использую «du -k myfile» для получения килобайт и визуально отбрасываю последние три цифры, но мне просто нужен приблизительный размер.

Оказывается, у du часто (всегда?) есть опция -m для MB.

Имейте в виду, что размер файла, скорее всего, немного отличается от объема используемого дискового пространства, поскольку распределение места на диске происходит блоками, а не байтами.

Если вы ищете «толстые» файлы из-за нехватки места на диске, это был бы более информативный вопрос, поскольку решения были бы более разнообразными.

решение4

statможет это сделать.

$ ls -l | grep myfile
-rw-------  1 rory rory      3120 2009-07-02 16:58 myfile
$ stat -c '%s' myfile
3120

которые выдают его вам в байтах.

Для подсчета мегабайт можно использовать арифметику bash:

$ echo $(( $( stat -c '%s' myfile ) / 1024 / 1024 ))
0

(но в этом случае округляет в меньшую сторону)

Связанный контент