Как узнать, сколько места занимают файлы и директории в Linux
12
97138
21 августа 2020 11:29
21/08/2020
Visitors have accessed this post 97138 times.
Для того, чтобы через интерфейс командной строки узнать, сколько места занимают файлы и директории, в Linux используется команда du.
du расшифровывается как disk usage (использование диска).
Синтаксис команды du:
du [OPTION]... [FILE] [directory]
Если запустить du без указания параметров, то она выведет все директории и поддиректории текущей директории.
Чтобы проверить размер директории
Если вам нужно узнать размер директории в понятном человеку формате, используйте команду:
# du -sh
Где:
-s (от английского summarize) — отображает только общее значение для каждого аргумента.
-h , —(от английского human readable) — отображает значения в человекочитаемом формате, например, 70G , 215M.
Если нам нужно узнать размер конкретной директории, то нужно запустить команду вида:
# du -sh directory_name/
Допустим, наша директория называется marusya, ее размер можно узнать, запустив:
# du -sh /marusya
Получаем вывод вида
218M marusya/
Если нужно отображать размер директории в конкретных единицах измерения (килобайтах\мегабайтах\гигабайтах)
По умолчанию команда du отображает размер директории в байтах. В случае, если нам удобней отображать размер файлов и директорий в килобайтах или мегабайтах, используется все та же команда du в Linux. Но к ней добавляется флаг -k (килобайты) или -m (мегабайты).
Установим отображение использования дискового пространства в килобайтах для нашей директории marusya.
# du -k marusya/
А теперь — в мегабайтах,
# du -m marusya/
В этом случае отображается использование дискового пространства директорией, но не размер ее файлов.
Чтобы узнать размеры файлов, нам понадобится флаг -a.
# du -ah /marusya
Чтобы узнать общий итоговый размер
Чтобы просмотреть общий размер всех файлов и поддиректорий в директории, используется флаг -c:
# du -csh ./marusya/
Пример вывода
31M ./marusya/
Чтобы узнать только общий размер директории, включая все поддиректории, добавьте к команде du команду grep.
# du -ch marusya | grep docs
Еще некоторые флаги, которые использует команда du Linux.
-D — если нужно обработать только перечисленные в командной строке символьные ссылки.
-d, —max-depth=Х — если нужно определить общий размер до определенного (Х) уровня древовидной структуры.
-t, —threshold=size — если нужно найти только файлы, размер которых больше определенного значения.
—time — используется для вывода времени, когда производилось последнее изменение в директории.
-X, —exclude-from=ФАЙЛ — если нужно исключить из расчета файлы, соответствующие определенному образцу.