Команда du в Linux
Команда du в Linux
Du Command in Linux
Команда du, сокращенно от «использование диска», сообщает приблизительный объем дискового пространства, используемого данными файлами или каталогами. Это практически полезно для поиска файлов и каталогов, занимающих много места на диске.

Команда du
, сокращенно от «использование диска», сообщает приблизительный объем дискового пространства, используемого данными файлами или каталогами. Это практически полезно для поиска файлов и каталогов, занимающих много места на диске.
Как использовать du
команду
Общий синтаксис du
команды выглядит следующим образом:
du [OPTIONS]... FILE...
Если данный FILE
каталог является каталогом, du
будет суммироваться использование диска каждого файла и подкаталога в этом каталоге. Если не FILE
указан, du
будет сообщать об использовании диска рабочего каталога.
При выполнении без какой-либо опции du
отображает использование диском данного файла или каталога и каждого из его подкаталогов в байтах.
du ~/Documents
Вы также можете передать несколько файлов и каталогов du
команде в качестве аргументов:
du ~/Documents ~/Pictures ~/.zshrc
Если вы запустите du
файл или каталог, для которого у вас нет прав, вы получите что-то вроде «du: not read directory». В этой ситуации вам нужно добавить команду с 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
в своем терминале.