В Linux слово du означает «disk usage», и эта команда чаще всего используется для проверки размера (и другого использования пространства/диска) файлов и каталогов.
Команду du можно использовать в любом дистрибутиве Linux, включая Ubuntu, Debian, Fedora, Linux Mint и другие. Ее можно использовать даже в macOS.
Синтаксис команды du в Linux следующий:
du [OPTIONs] [FILEs]
Можно запустить команду du, просто введя «du» без каких-либо опций или флагов:
du
Это даст вывод информации об использовании диска для каталогов в каталоге, в котором находимся. Выполнение команды du без флагов и опций даст большой отчет с не очень читаемой статистикой.
Пример вывода данных при выполнении команды du без опций и флагов:
... много строк 164 ./re3 _2021_02_19/build 132576 ./re3 _2021_02_19 60 ./Download/openvpn 34568 ./Download 408364 .
И это только часть вывода при запуске du в данном каталоге. В реальности выводится множество строк для каждого (под)каталога существующий в опрашиваемом каталоге. Число в этом выводе - это (обычно) килобайты (KB).
Последняя строка результатов команды du - это общий размер каталога.
Если запустить команду без указания каталога, она будет запущена в том каталоге, в котором сейчас находимся (pwd). Если необходимо запустить команду в другом каталоге, нужно будет указать его после опций.
Пример:
du /var/www/html
Получим результаты для каталогов в пределах /var/www/html, независимо от того, в каком каталоге сейчас находимся.
du --threshold=1G
покажет только файлы размером более 1 ГБ.
du --exclude="*.txt"
исключит из вывода все файлы .txt.
Для этого используйте опцию -h. Пример:
du -h
Вывод:
164K ./re3 _2021_02_19/build 130M ./re3 _2021_02_19 60K ./Download/openvpn 34M ./Download 399M .
Вместо просто цифр, без указания, что это за цифры (KB, MB, GB)
Для этого необходимо использовать опции -h и -a. Это наиболее часто используемый пример команды du:
du -ha
Это также отобразит размер файлов в удобочитаемом формате (K, M, G).
Чтобы исключить все файлы и каталоги, размер которых меньше 100 МБ, используйте параметр -threshold:
du -ha --threshold=100M
В результате будут показаны только файлы и каталоги, размер которых превышает 100 МБ.
Для получения даты изменения файла или каталога рядом с размером в результатах, используется параметр –time. Пример:
du -ha --time
Получаем результат, аналогичный следующему:
3,7M 2019-07-15 13:54 ./Download/11bcd3c1d43688891ed23f5677a174ea.pdf 15M 2019-07-15 13:54 ./Download/286674e3082feb7e5afb92777e48821f.pdf 34M 2022-02-03 20:28 ./Download 399M 2022-02-20 19:55 .
Часто используемой опцией для команды du является –exclude. Чаще всего она используется для исключения определенных типов файлов. Например, если необходимо исключить все файлы .txt из результатов, необходимо использовать:
du -ha --exclude="*.txt"
Если необходимо проверить размер определенного каталога, используется опция -s (–summarize). Используя опцию -s, получаем информацию о размере каталога, для которого выполняется команда. Это также последняя строка вывода, когда выполнить команду du без опции -s.
Например:
du -hs /var/www/
Получим:
771M /var/www/html/
Выводится только размер каталога html
Более подробно об опциях du можно узнать набрав в командной строке
man du