Команда Du в Linux

Linux du command

Команда 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 в терминале.

Если у вас есть вопросы или отзывы, пожалуйста, оставьте комментарий ниже.

du терминальный диск

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *