Команда du
, сокращение от «использование диска», сообщает приблизительный объем дискового пространства, используемого данными файлами или каталогами. Это практически полезно для поиска файлов и каталогов, занимающих большие объемы дискового пространства.
Как использовать команду 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
.
Добавить комментарий