Содержание

Команда du в Linux - руководство и примеры

В Linux слово du означает «disk usage», и эта команда чаще всего используется для проверки размера (и другого использования пространства/диска) файлов и каталогов.

Команду du можно использовать в любом дистрибутиве Linux, включая Ubuntu, Debian, Fedora, Linux Mint и другие. Ее можно использовать даже в macOS.

Основной синтаксис команды du

Синтаксис команды 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

Примеры команды du, наиболее часто используемых

Отображение результатов в удобочитаемом виде.

Для этого используйте опцию -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