du - это инструмент командной строки, поставляемый с Linux, который сообщает объем дискового пространства, используемого каталогами и файлами. Сокращенно от "использования диска", du - это основной инструмент для анализа дискового пространства в командной строке.
Основное использование
du/path/to/directory
Запустите команду du
с каталогом, чтобы увидеть полный анализ дискового пространства, занимаемого каждым каталогом. Каждый каталог будет перечислен по очереди в стандартном выводе, поэтому большие каталоги или полное сканирование системы могут привести к появлению десятков тысяч строк и потребовать значительного времени. В результате основная команда du обычно дополняется указанными ниже флагами. Любой из этих флагов можно комбинировать с любым другим, хотя некоторые комбинации исключают друг друга, потому что они противоречат друг другу.
Контроль вывода
du - c
Показывает строку внизу вывода du, чтобы указать общий объем дискового пространства, используемого сканируемыми каталогами.
du - s
Показывает только сводную информацию об общем дисковом пространстве, используемом указанным каталогом. Никакие выходные данные не будут отображаться, пока не будет рассчитана сводка.
du> du-report.txt
Профессионалы командной строки узнают эту команду, но не все профессионалы. Это выведет результаты команды в текстовый файл в текущем рабочем каталоге с именем "du-report.txt".
du|less
Перенаправляет отображение в редактор с меньшим количеством текста, создает более легко читаемый результат, который можно просмотреть с помощью меньшего количества ярлыков для навигации.
Изменение размера дисплея
Обратите внимание, что при объявлении конкретных единиц размеры файлов обычно округляются. Например, файл размером 4 КБ будет отображаться как занимающий ноль мегабайт, если вызывается флаг -m
, а файл размером 750 КБ будет отображаться как 1 МБ.
du - h
Отображение в "удобочитаемом" формате с указанием соответствующих размеров, таких как килобайты, мегабайты и гигабайты, а не стандартного размера блока.
du - k
Отображение количества блоков в блоках размером 1024 байта (1 килобайт).
du - m
Отображение количества блоков в 1 048 576 байтовых (1 мегабайт) блоках.
du - g
Отображать количество блоков в 1 073 741 824 байтах (1 гигабайт).
Включение файлов и ссылок
du - L
Переход по символическим ссылкам (или "разыменование") в командной строке и файловых иерархиях. В противном случае будет сообщаться пространство, занимаемое самой символической ссылкой (обычно минимум файловой системы), а не дерево каталогов, на которое указывает символическая ссылка.
du - а
Показывать использование диска для всех файлов, а не только для каталогов.
du/path/to/file.txt
Отобразите использование диска одним конкретным файлом, как указано в команде.
Исключение файлов, каталогов и ссылок
du - X FILE
Исключить файлы, соответствующие любому шаблону в указанной строке.
du--exclude="*.o"
Исключите файлы и подкаталоги, как указано в шаблоне. В этом примере все каталоги, включая строку "* .o", будут пропущены. Обратите внимание, что это шаблоны оболочки, а не регулярные выражения. Таким образом, управляющие символы ограничены символом *, который соответствует любой строке из нуля или более символов, и?, Который соответствует любому одному символу. Это исключит эти файлы из расчетов размера каталога. Если используется флаг -a
, исключенные файлы будут пропущены в результирующем выводе.
du - порог=РАЗМЕР
Исключить записи меньше SIZE, если они положительные, или записи больше SIZE, если отрицательные. РАЗМЕР является целым числом и принимает (необязательную) единицу. Например, --threshold=1MB
пропустит все файлы размером менее 1 мегабайта (1000 ^ 2 байта). Единицы измерения включают K, M, G, T, P, E, Z, Y для степеней 1024 (кибибайт, мебибайт, гибибайт и т. Д.) Или KB, MB, GB, TB,… для более стандартизированных степеней 1000 ( килобайт, мегабайт, гигабайт и т. д.). Это может быть полезным инструментом для поиска самых больших файлов в вашей системе с помощью такой команды, как du --threshold=1GB
.
du - d N
Установите максимальную глубину для N папок. Этот флаг может принимать любое положительное целое число. С этим параметром du будет сканировать до двух подкаталогов в указанном каталоге. Если существуют дополнительные подкаталоги, они не будут сканироваться по отдельности. Скорее их значение будет включено в указанные папки. Обратите внимание, что -d 0
выдаст те же результаты, что и флаг -s
.
Например, рассмотрим путь к каталогу "dir1 / dir2 / dir3 / dir4", который содержит один родительский каталог и три подкаталога. Если для параметра du установлено значение du -d 2, dir1
будет сканировать до dir3. Размер dir3 будет включать файлы в dir4, даже если dir4 не указан отдельно.
Вывод: Piping du
Команда du наиболее полезна в сочетании с другими утилитами, такими как команда du -a / | sort -n -r | голова -n 10
. Будет произведен поиск по всей файловой системе ( du -a /
), результаты будут отсортированы по размеру ( sort -n -r
), а затем будут показаны только первые десять результатов ( голова -n 10 ). По сути, это ярлык для десяти самых больших файлов на вашем компьютере. Комбинируйте du с другими командами через конвейеры, чтобы получить еще более полезные результаты.
Один комментарий
Комментарии закрыты.
Это лучше ду | сортировать | глава
если [-z $ 1]; затем
du -s. ?? * * | sort -n | \
gawk '{hum [1000 ** 3]="TB"; hum [1000 ** 2]="GB"; hum [1000]="MB"; hum [1]="KB ";
for (x=1000 ** 3; x>=1; x /=1000) {
if ($ 1>=x) {printf"% 6.2f% s \ t% s \ n ”, $ 1 / x, hum [x], $ 2; break}
}
} ’
еще
du -s $ @ | sort -n | \
gawk '{hum [1000 ** 3]="TB"; hum [1000 ** 2]="GB"; hum [1000]="MB"; hum [1]="KB ";
for (x=1000 ** 3; x>=1; x /=1000) {
if ($ 1>=x) {printf"% 6.2f% s \ t% s \ n ”, $ 1 / x, hum [x], $ 2; break}
}
} ’
fi