du — это инструмент командной строки, поставляемый с Linux, который сообщает об объеме дискового пространства, используемого каталогами и файлами. Сокращенно от «использование диска», du — это основной инструмент для анализа дискового пространства в командной строке.
Основное использование
du /path/to/directory
Запустите команду du
для каталога, чтобы просмотреть полный анализ дисковог
Contents
Основное использование
дым каталогом. Каждый каталог будет перечислен поочередно в стандартном выводе, поэтому большие каталоги или полное сканирование системы могут привести к появлению десятков тысяч строк и занять значительное время. В результате базовая команда du обычно дополняется флагами, указанными ниже. Любой из этих флагов можно комбинировать с любым другим, хотя некоторые комбинации исключают друг друга, поскольку они противоречивы.Управление выводом
du -c
Показывает строку внизу вывода du, указывающую общий объем дискового пространства, используемого сканируемыми каталогами.
du -s
Показывает только сводную информацию об общем дисковом пространстве, используемом указанным каталогом. Никакие выходные данные не будут отображаться, пока не будет рассчитана сводка.
du > du-report.txt
Профессионалы в области командной строки распознают эту команду, но не все являются професси
Управление выводом
будут выведены в текстовый файл с именем «du-report.txt» в текущем рабочем каталоге.du | less
Перенаправляет отображение в текстовый редактор less, создает более удобочитаемый результат, который можно просмотреть с помощью ярлыков навигации.
Изменение размера отображения
Обратите внимание, что размеры файлов обычно округляются при объявлении определенных единиц измерения. Например, при вызове флага -m
файл размером 4 КБ будет отображаться как занимающий ноль мегабайт, а файл размером 750 КБ будет отображаться как размер 1 МБ.
du -h
<
Отображать в удобном для человека формате с указанием соответствующих размеров, таких как килобайты, мегабайты и гигабайты, а не стандартного размера блока.
du -k
Отображать блоки по 1024 байта (1 килобайт).
du -m
Количество блоков отображения выражается в блоках по 1 048 576 байт (1 мегабайт).
du -g
Блок дисплея рассчитывается в блоках размером 1 073 741 824 байта (1 гигабайт).
Включая файлы и ссылки
Перейти (или «разыменовать») по символическим ссылкам в командной строке и иерархии файлов. В противном случае будет сообщено пространство, занимаемое самой символической ссылкой (обычно минимум файловой системы), а не дерево каталогов, на которое указывает символическая ссылка.
du -a
Показать использование диска для всех файлов, а не только для каталогов.
du /path/to/file.txt
Отобразить использование диска одним конкретным файлом, указанным в команде.
Исключая файлы, каталоги и ссылки
du -X FILE
Исключить файлы, соответствующие любому шаблону в указанной строке.
du --exclude="*.o"
Исключите файлы и подкаталоги, указанные в шаблоне. В этом примере все каталоги, содержащие строку «*.o», будут пропущены. Обратите внимание, что это шаблоны оболочки, а не регулярные выражения. Таким образом, управляющие символы ограничены *, который соответствует любой строке, состоящей из нуля или более символов, и ?, который соответствует любому одному символу. Это исключит эти файлы из расчета размера каталога. Если используется флаг -a
, исключенные файлы будут пропущены в результирующем выводе.
du --threshold=SIZE
Исключайте з
Включая файлы и ссылки
и оно положительное, или записи больше SIZE, если оно отрицательное. РАЗМЕР является целым числом и принимает (необязательную) единицу измерения. Например,--threshold=1MB
пропустит все файлы размером менее 1 мегабайта (1000^2 байта). Единицы включают K, M, G, T, P, E, Z, Y для степеней 1024 (кибибайт, мебибайт, гибибайт и т. д.) или КБ, МБ, ГБ, ТБ, … для более стандартизированных степеней 1000 ( килобайт, мегабайт, гигабайт и так далее). Это может быть полезным инструментом для поиска самых больших файлов в вашей системе с помощью такой команды, как du --threshold=1GB
.
du -d N
Установите максимальную глубину N папок. Этот флаг может принимать любое положительное целое число. При этом параметре du будет сканировать до двух подкаталогов в указанном каталоге. Если существуют дополнительные подкаталоги, они не будут сканироваться по отдельности. Скорее, их значение будет включено в сообщаемые папки. Обратите внимание, что -d 0
сообщит те же результаты, что и флаг -s
.
Например, рассмотрим путь к каталогу «dir1/dir2/dir3/dir4», который содержит один родительский каталог и три подкаталога. При настройке du du -d 2 dir1
будет выполняться сканировани
Исключая файлы, каталоги и ссылки
ь файлы из каталога 4, хотя каталог 4 не указан отдельно.Вывод: пипец
Команда du наиболее полезна в сочетании с другими утилитами, такими как команда du -a / | sort -n -r | head -n 10
. При этом будет произведен поиск по всей файловой системе (du -a /
), результаты будут отсортированы по размеру (sort -n -r
), а затем отобразятся только первые десять результатов (head -n 10
). ). По сути, это ярлык для десяти самых больших файлов на вашем компьютере. Объедините du с другими командами через каналы, чтобы получить еще более полезные результаты.