Поиск больших файлов в директории
Описание
Команда для поиска самых больших файлов и директорий в указанной директории. Полезно для диагностики проблем с нехваткой места на диске, поиска файлов, занимающих много места, и очистки дискового пространства.
Команда
du -ahx . | sort -rh | head -5
Поиск в другой директории
Символ . указывает путь и означает текущую директорию. Для поиска в другой директории укажите вместо точки ее путь:
du -ahx /var/log | sort -rh | head -5
du -ahx /opt | sort -rh | head -5
Параметры команды
du -ahx
Опции:
-a— искать и файлы, и директории-h— выводить информацию в удобочитаемом формате (KB, MB, GB)-x— не выполнять поиск на других файловых системах (оставаться в пределах одной файловой системы)
sort -rh
Опции:
-r— сортировка в обратном порядке (от большего к меньшему)-h— сортировка с учетом человекочитаемых размеров (KB, MB, GB)
head -5
Выводит только первые 5 результатов. Можно изменить число для вывода большего или меньшего количества результатов.
Примеры использования
Топ-5 самых больших файлов и директорий в текущей директории
du -ahx . | sort -rh | head -5
Пример вывода:
Топ-10 самых больших файлов в /var
du -ahx /var | sort -rh | head -10
Топ-3 самых больших файлов в домашней директории пользователя
du -ahx ~ | sort -rh | head -3
Поиск больших файлов в директории с выводом только файлов (без директорий)
find . -type f -exec du -h {} + | sort -rh | head -5
Дополнительные полезные команды
Поиск файлов больше определенного размера
find . -type f -size +100M -exec du -h {} + | sort -rh
Найдет все файлы больше 100 МБ и отсортирует их по размеру.
Поиск только директорий (без файлов)
du -hx . | sort -rh | head -5
Без опции -a команда du выводит только директории.
Подсчет общего размера директории
du -sh /opt/wiki-iridium
Выведет общий размер указанной директории в удобочитаемом формате.
Поиск с исключением определенных директорий
du -ahx . --exclude='node_modules' --exclude='.git' | sort -rh | head -5
Исключает из поиска указанные директории (например, node_modules и .git).
Важные замечания
Примечание: Опция
-xограничивает поиск одной файловой системой. Это полезно, чтобы избежать поиска в смонтированных файловых системах (например,/proc,/sys,/dev), что может замедлить выполнение команды. {.is-info}
Важно: Команда
duможет выполняться долго на больших директориях. Для ускорения можно использовать опцию-dдля ограничения глубины поиска: {.is-warning}
du -ahx -d 2 . | sort -rh | head -5
Это ограничит поиск двумя уровнями вложенности.
Практические сценарии использования
Очистка диска
Найдите самые большие файлы:
du -ahx /var | sort -rh | head -10Проанализируйте результаты и удалите ненужные файлы.
Диагностика проблем с местом на диске
# Проверьте корневую файловую систему
du -ahx / | sort -rh | head -10
# Проверьте домашние директории
du -ahx /home | sort -rh | head -10
Мониторинг роста логов
# Проверьте размер логов
du -ahx /var/log | sort -rh | head -5