главная - Статьи - Linux, FreeBSD
du / TOP20 больших файлов в системе Linux
Дата обновления: 10.04.2025Теги: Linux

В продолжение предыдущего поста о du, предлагаю вариант поинтереснее, чем просто du -sh, а именно отображение TOP-20 файлов, которые занимают больше всего места в системе.
# find / -mount -ignore_readdir_race -type f -exec du -h "{}" + 2>&1 | sort -rh | head -n 20
Где:
- -mount Не переходит в другие файловые системы (ограничивается текущим разделом).
- -ignore_readdir_race Игнорирует ошибки, если файл исчез во время обхода (полезно на "живых" системах).
- -exec du -h "{}" + Для найденных файлов выполняет du -h, который показывает размер файла в человекочитаемом виде (KB, MB, GB и т.д.).
- Скобки "{}" заменяются на путь к файлу.
- Знак + означает, что du вызывается с несколькими файлами за раз (эффективнее, чем \;).
- 2>&1 Перенаправляет ошибки в поток вывода (вместе с результатом). Это нужно, чтобы не потерять строки об ошибках и упорядочить весь вывод.
Как всегда, совет: перед запуском любого скрипта, скопированного на просторах сети, сначала пробегите по нему глазами, посмотрите, не сломает ли он вашу систему.
Авторизуйтесь для добавления комментариев!

Принимаю заказы на настройку серверов, mikrotik и других роутеров, точек доступа, nginx и т.п. В пределах Санкт-Петербурга возможен выезд к заказчику. См. контакты.