
Команда du (сокращение от «disk usage») выводит приблизительный объём дискового пространства, занимаемого указанными файлами или каталогами. Она полезна для поиска файлов и каталогов, занимающих большой объём дискового пространства.
Как использовать команду du
Общий синтаксис команды du следующий:
du [ OPTIONS ] ... FILE...
Если указанный FILE является каталогом, du выведет сводку использования диска каждым файлом и подкаталогом в этом каталоге. Если FILE не указан, du выведет информацию об использовании диска текущим рабочим каталогом .
При запуске без каких-либо опций du отображает использование диска указанным файлом или каталогом и каждым из его подкаталогов в байтах.
du ~/Documents
Вы также можете передать команде du несколько файлов и каталогов в качестве аргументов:
du ~/Documents ~/Pictures ~/.zshrc
Если вы запустите du для файла или каталога, на который у вас нет прав доступа, вы получите сообщение вроде «du: не могу прочитать каталог». В этом случае вам нужно добавить sudo перед командой.
У du много опций, мы опишем лишь наиболее часто используемые из них.
Опция -a заставляет du сообщать об использовании дискового пространства каждым файлом в каталоге.
du -a ~/Documents
Обычно требуется отобразить только объём, занимаемый указанным каталогом, в удобном для восприятия формате. Для этого используйте опцию -h .
Например, чтобы получить общий размер /var/lib и всех его подкаталогов, выполните следующую команду:
sudo du -h /var
Мы используем sudo , поскольку большинство файлов и каталогов в каталоге /var/lib принадлежат пользователю root и не доступны для чтения обычным пользователям. Вывод будет выглядеть примерно так:
... 4.0K /var/lib/apt/mirrors/partial 8.0K /var/lib/apt/mirrors 205M /var/lib/apt 2.9G /var/lib/
Чтобы вывести только общий размер указанного каталога, без учета подкаталогов, используйте опцию -s :
sudo du -sh /var
2.9G /var
Опция -c заставляет du вывести общую сумму. Это полезно, когда нужно узнать общий размер двух или более каталогов.
sudo du -csh /var/log /var/lib
1.2G /var/log 2.9G /var/lib 4.1G total
Чтобы отобразить использование диска подкаталогами n-го уровня, используйте опцию --max-depth и укажите уровень подкаталогов. Например, чтобы получить отчёт о каталогах первого уровня, выполните:
sudo du -h --max-depth=1 /var/lib
... 544K /var/lib/usbutils 4.0K /var/lib/acpi-support 205M /var/lib/apt 2.9G /var/lib
По умолчанию утилита du проверяет дисковое пространство, занимаемое каталогом или файлом. Чтобы узнать видимый размер файла, используйте параметр --apparent-size . «Видимый размер» файла — это фактический объём данных в нём.
sudo du -sh --apparent-size /var/lib
2.9G /var/lib
du также позволяет использовать шаблон оболочки. Например, чтобы получить размер всех каталогов в вашем домашнем каталоге, начинающихся на «Do», выполните:
sudo du -csh ~/Do*
102M /home/linuxize/Documents 358M /home/linuxize/Downloads 460M total
Использование du с другими командами
Команду du можно комбинировать с другими командами, используя вертикальные черты.
Например, чтобы вывести 5 самых больших каталогов внутри каталога /var вы передадите вывод du команде sort для сортировки каталогов по их размеру, а затем передадите вывод команде head , которая выведет только 5 самых больших каталогов:
sudo du -h /var/ | sort -rh | head -5
4.6G /var/ 2.9G /var/lib 2.6G /var/lib/snapd 1.7G /var/lib/snapd/snaps 1.2G /var/log/journal/af8ce1d394b844fea8c19ea5c6a9bd09
Заключение
К настоящему моменту вы должны хорошо понимать, как использовать команду du .
В отличие отdf , которая выводит информацию об использовании диска смонтированными файловыми системами , команда du дает оценку дискового пространства, используемого указанными файлами или каталогами.
Вы можете просмотреть все доступные параметры команды du , введя man du в терминале.
Если у вас есть вопросы или отзывы, пожалуйста, оставьте комментарий ниже.
Связанные руководства