Поиск самых больших файлов
До сих пор мы рассматривали размеры директорий. Но что, если мы хотим найти конкретные файлы, занимающие больше всего пространства? Команда du
в основном работает с директориями, но мы можем объединить ее с другими командами, чтобы найти большие файлы.
Мы будем использовать команду find
вместе с du
. Не беспокойтесь, если вы не знакомы с find
— мы объясним, как она работает.
Сначала вернемся в директорию проекта:
cd ~/project
Теперь используем find
и du
для поиска самых больших файлов:
find. -type f -exec du -h {} + | sort -hr | head -n 5
Эта команда может показаться сложной, но давайте разберем ее по частям:
find. -type f
: Ищет все файлы (-type f
) в текущей директории (.
) и ее поддиректориях.
-exec du -h {} +
: Выполняет du -h
для каждого найденного файла. {}
заменяется на имя файла, а +
сообщает find
передать как можно больше имен файлов в каждый вызов du
.
sort -hr
: Сортирует результаты по размеру в обратном порядке (сначала самые большие).
head -n 5
: Показывает только первые 5 результатов.
Вы, возможно, увидите такой вывод:
10M ./backups/large_backup.bak
5.0M ./logs/application/large_app_log.log
0 ./logs/system/placeholder.log
0 ./logs/archive/placeholder.log
0 ./logs/application/placeholder.log
Этот вывод показывает пять самых больших файлов в директории проекта и их размеры.
Чтобы сосредоточиться на файлах, больших определенного размера, мы можем изменить нашу команду. Найдем файлы размером более 1 МБ:
find. -type f -size +1M -exec du -h {} + | sort -hr
В этой команде добавлено -size +1M
для фильтрации файлов размером более 1 мегабайта.
Эти команды невероятно полезны, когда вы пытаетесь освободить дисковое пространство. Они позволяют быстро определить самые большие файлы, которые часто являются лучшими кандидатами для удаления или архивирования.