Перейти к содержимому

Как узнать размер файла в линукс

  • автор:

Как узнать, сколько места занимают файлы и директории в Linux

Visitors have accessed this post 60662 times.

Для того, чтобы через интерфейс командной строки узнать, сколько места занимают файлы и директории, в Linux используется команда du.

du расшифровывается как disk usage (использование диска).

Синтаксис команды du:

du [OPTION]. [FILE] [directory]

Если запустить du без указания параметров, то она выведет все директории и поддиректории текущей директории.

Чтобы проверить размер директории

Если вам нужно узнать размер директории в понятном человеку формате, используйте команду:

-s (от английского summarize) — отображает только общее значение для каждого аргумента.

-h , —(от английского human readable) — отображает значения в человекочитаемом формате, например, 70G , 215M.

Если нам нужно узнать размер конкретной директории, то нужно запустить команду вида:

# du -sh directory_name/

Допустим, наша директория называется marusya, ее размер можно узнать, запустив:

Получаем вывод вида

Если нужно отображать размер директории в конкретных единицах измерения (килобайтах\мегабайтах\гигабайтах)

По умолчанию команда du отображает размер директории в байтах. В случае, если нам удобней отображать размер файлов и директорий в килобайтах или мегабайтах, используется все та же команда du в Linux. Но к ней добавляется флаг -k (килобайты) или -m (мегабайты).

Установим отображение использования дискового пространства в килобайтах для нашей директории marusya.

А теперь — в мегабайтах,

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

Чтобы узнать размеры файлов, нам понадобится флаг -a.

Чтобы узнать общий итоговый размер

Чтобы просмотреть общий размер всех файлов и поддиректорий в директории, используется флаг -c:

Чтобы узнать только общий размер директории, включая все поддиректории, добавьте к команде du команду grep.

# du -ch marusya | grep docs

Еще некоторые флаги, которые использует команда du Linux.

-D — если нужно обработать только перечисленные в командной строке символьные ссылки.

-d, —max-depth=Х — если нужно определить общий размер до определенного (Х) уровня древовидной структуры.

-t, —threshold=size — если нужно найти только файлы, размер которых больше определенного значения.

—time — используется для вывода времени, когда производилось последнее изменение в директории.

-X, —exclude-from=ФАЙЛ — если нужно исключить из расчета файлы, соответствующие определенному образцу.

От редакции

Если вам интересно посещать бесплатные онлайн-мероприятия по DevOps, Kubernetes, Docker, GitlabCI и др. и задавать вопросы в режиме реального времени, подключайтесь к каналу DevOps by REBRAIN.

*Анонсы мероприятий каждую неделю

Как проверить размер файла в Linux / Unix

Информация для новичка в командной оболочке bash. Как узнать размер файла через bash скрипт и сохранить этот размер в переменную оболочки Bash?
Не все команды для подсчета размера файла подойдут для использования в скрипте. Команда stat отображает информацию о файле, включая его размер. Другой вариант заключается в использовании команды wc, которая может подсчитать количество байтов в каждом конкретном файле. Давайте посмотрим, как использовать эти две команды, чтобы проверить размер файла в Linux или Unix-подобной системе.

Как проверить размер файла в UNIX с помощью команды wc

Команда wc показывает количество строк, слов и байтов, содержащихся в файле. Синтаксис выглядит следующим образом, чтобы получить размер файла:

wc -c /path/to/file wc -c /etc/passwd
5353 /etc/passwd

Вы можете легко извлечь первое поле либо с помощью команды cut или AWK:

wc -c /etc/passwd | awk ''
5353

ИЛИ присвоить этот размер переменной Баш:

myfilesize=$(wc -c "/etc/passwd" | awk '') printf "%d\n" $myfilesize echo "$myfilesize"

Как получить размер файла в Баш скрипт с помощью команды stat

Команда stat показывает информацию о файле. Синтаксис выглядит следующим образом, чтобы получить размер файла на GNU / Linux:

stat -c %s "/etc/passwd"
stat --format=%s "/etc/passwd"

Чтобы назначить этот размер переменной Баш:

myfilesize=$(stat --format=%s "/etc/passwd") echo "$myfilesize" ## or ## myFileSizeCheck=$(stat -c %s "/etc/resolv.conf") printf "Размер файла = %d\n" $myFileSizeCheck

Синтаксис выглядит следующим образом, чтобы получить размер файла на BSD / MacOS:

stat -f %z "/etc/passwd"

Обратите внимание, что если файл символьная вы получите размер этой ссылки только с помощью команды стат.

Пример команды du

du --apparent-size --block-size=1 "/etc/passwd" fileName="/etc/hosts" mfs=$(du --apparent-size --block-size=1 "$fileName" | awk '< print $1>') echo "$fileName size = $"

stat-find-du-wc-command-outputs

Find пример команды

find "/etc/passwd" -printf "%s" find "/etc/passwd" -printf "%s\n" fileName="/etc/hosts" mysize=$(find "$fileName" -printf "%s") printf "File %s size = %d\n" $fileName $mysize echo "$ размер $ bytes."

Похожие статьи:

  1. Скрипт смена паролей пользователей linux
  2. Как присвоить результат команды переменной оболочки
  3. Как найти все жесткие ссылки в каталоге в Linux
  4. Проверить фрагментация файла в linux

Какая команда покажет размер файла или папки в Linux?

В этом кратком руководстве объясняется, как определить размер каталога в операционных системах Linux. Определить размер файлов и каталогов в режиме графического интерфейса очень просто! Все, что нам нужно сделать, это просто щелкнуть правой кнопкой мыши файл или каталог и выбрать параметр свойств в контекстном меню. Однако не менее важно знать, как узнать размер каталога из режима CLI. Позвольте мне объяснить, как узнать размер каталога из командной строки.

Чтобы узнать размер каталога, мы воспользуемся командой du . du означает disk usage.

Типичный синтаксис команды du приведен ниже:

du [OPTION]. [FILE] [directory]. du [OPTION]. --files0-from=F

Давайте введем команду du в Терминале и посмотрим, что она отобразит.

Как вы видите выше, команда du отображает использование диска каталогами вместе с его подкаталогами в текущем каталоге.

Чтобы отобразить размер определенного каталога, например, ostechnix, запустите:

$ du ostechnix/
36252 ostechnix/Swami Vivekananda (Chicago Speech) 452 ostechnix/MultiCD/plugins 44 ostechnix/MultiCD/.git/hooks 4 ostechnix/MultiCD/.git/branches 1012 ostechnix/MultiCD/.git/objects/pack 4 ostechnix/MultiCD/.git/objects/info 1020 ostechnix/MultiCD/.git/objects 8 ostechnix/MultiCD/.git/logs/refs/heads 8 ostechnix/MultiCD/.git/logs/refs/remotes/origin 12 ostechnix/MultiCD/.git/logs/refs/remotes 24 ostechnix/MultiCD/.git/logs/refs 32 ostechnix/MultiCD/.git/logs 8 ostechnix/MultiCD/.git/refs/heads 4 ostechnix/MultiCD/.git/refs/tags 8 ostechnix/MultiCD/.git/refs/remotes/origin 12 ostechnix/MultiCD/.git/refs/remotes 28 ostechnix/MultiCD/.git/refs 8 ostechnix/MultiCD/.git/info 1168 ostechnix/MultiCD/.git 140 ostechnix/MultiCD/maps 2706504 ostechnix/MultiCD 2832056 ostechnix/

Мы также можем отображать размер в «удобочитаемом формате» (т.е. автоматически выбирать соответствующую единицу для каждого размера), а не в стандартном размере блока.

Для этого добавьте тег -h с командой du , как показано ниже.

$ du -h ostechnix/
36M ostechnix/Swami Vivekananda (Chicago Speech) 452K ostechnix/MultiCD/plugins 44K ostechnix/MultiCD/.git/hooks 4.0K ostechnix/MultiCD/.git/branches 1012K ostechnix/MultiCD/.git/objects/pack 4.0K ostechnix/MultiCD/.git/objects/info 1020K ostechnix/MultiCD/.git/objects 8.0K ostechnix/MultiCD/.git/logs/refs/heads 8.0K ostechnix/MultiCD/.git/logs/refs/remotes/origin 12K ostechnix/MultiCD/.git/logs/refs/remotes 24K ostechnix/MultiCD/.git/logs/refs 32K ostechnix/MultiCD/.git/logs 8.0K ostechnix/MultiCD/.git/refs/heads 4.0K ostechnix/MultiCD/.git/refs/tags 8.0K ostechnix/MultiCD/.git/refs/remotes/origin 12K ostechnix/MultiCD/.git/refs/remotes 28K ostechnix/MultiCD/.git/refs 8.0K ostechnix/MultiCD/.git/info 1.2M ostechnix/MultiCD/.git 140K ostechnix/MultiCD/maps 2.6G ostechnix/MultiCD 2.8G ostechnix/

Теперь вы видите размер каталогов в килобайтах, мегабайтах и ​​гигабайтах, что очень ясно и легко для понимания.

Мы также можем отображать размер использования диска только в КБ, МБ или ГБ.

Для этого используйте -k для килобайт, -m для мегабайт.

$ du -k ostechnix/ $ du -m ostechnix/

Чтобы узнать, какие подкаталоги занимают размер диска, используйте эту команду:

$ du -h --max-depth=1 | sort -hr

Самые большие подкаталоги будут отображаться вверху. Вы можете увеличить уровень глубины каталога, увеличив значение параметра —max-depth .

Как вы могли заметить во всех приведенных выше выходных данных, команда du отображала только использование диска каталогами. Но как насчет файлов? Чтобы отобразить использование диска всеми элементами, включая файлы и каталоги, используйте флаг -a .

$ du -ah ostechnix/

Теперь вы увидите использование диска всеми файлами и папками в удобочитаемой форме.

Мы также можем отображать размер нескольких каталогов одновременно, как показано ниже.

$ du -h каталог1 каталог2

Если вы хотите проверить общее дисковое пространство, используемое конкретным каталогом, используйте флаг -s .

$ du -sh ostechnix

Здесь флаг -s указывает на сводку.

2.8G ostechnix

Точно так же, чтобы отобразить общее дисковое пространство, используемое несколькими каталогами, например ostechnix и /etc, запустите:

$ du -sh ostechnix /home/sk/
2.8G ostechnix 279G /home/sk/

Чтобы отобразить общее количество каталогов, добавьте флаг -c с командой du -sh .

$ du -csh ostechnix /home/sk/
2.8G ostechnix 279G /home/sk/ 281G total

Чтобы отобразить только общий итог данного каталога, включая все подкаталоги, используйте команду grep с командой du , как показано ниже.

$ du -ch Downloads/ | grep total 12G total

Возможно, вы захотите исключить определенные типы файлов. Следующая команда отобразит размер текущего каталога, включая его подкаталоги, но исключит размер всех файлов .mp4.

$ du -ch --exclude='*.mp4' | grep total 6.4G total

Можем ли мы найти самые большие или самые маленькие каталоги / файлы? Конечно да! Ознакомьтесь со следующим руководством.

Как найти самые большие и самые маленькие каталоги и файлы в Linux
Дополнительные сведения о команде ‘du’ см. на страницах руководства.

$ man du

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка / 5. Количество оценок:

Оценок пока нет. Поставьте оценку первым.

Как вывести список файлов в Linux, но размер указать в мегабайтах?

Если ввести команду ls с ключом -l, то выводится список файлов, но размер указан в байтах. Это не очень удобно, можно ли как-то выводить размер в МБ или ГБ?

Для вывода размера в мегабайтах или в любой другой размерности, у команды ls есть специальный ключ —block-size:

ls -l --block-size=M

Или, например, в гигабайтах:

ls -l --block-size=G

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

Есть еще очень полезная опция -h. Она позволяет выводить размеры файлов в списке автоматически в Кб, Мб, Гб и так далее:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *