Команда 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 .
Добавить комментарий