Rain WikiWindows · Linux · Android

Поиск больших и старых файлов с помощью find

Инструмент командной строкиВсе дистрибутивы Linux

find — это стандартная команда Linux, которая выполняет поиск файлов в дереве каталогов по таким критериям, как размер, возраст, имя или тип. Команда find / -xdev -type f -size +1G выводит список файлов размером более 1 ГБ в корневой файловой системе; это зачастую самый быстрый способ узнать, что внезапно заполнило диск.

1Полезные проверки

-size +500M (больше 500 МиБ), -mtime +30 (изменены более 30 дней назад), -name '*.log', -type f (только файлы), -xdev (не переходить в другие файловые системы).

2Отображение размеров

Добавьте '-exec ls -lh {} +' для просмотра размеров или используйте -printf в GNU find, например -printf '%s %p\n', и отсортируйте вывод.

3Безопасное удаление

-delete удаляет каждое совпадение немедленно. Сначала выполните ту же команду без -delete, прочитайте список, а затем добавьте -delete в качестве последнего параметра.

Как найти файлы размером более 1 ГБ

  1. Выполните: sudo find / -xdev -type f -size +1G -exec ls -lh {} +
  2. Перед удалением определите программу-владельца каждого файла.
  3. Для старых журналов используйте предварительный просмотр: sudo find /var/log -type f -name '*.gz' -mtime +30
  4. Только после этого удаляйте: sudo find /var/log -type f -name '*.gz' -mtime +30 -delete

Осторожно

  • Размещение -delete перед проверками удаляет всё содержимое по указанному пути.
  • Файлы баз данных, виртуальных дисков и файлы подкачки имеют большой размер намеренно: не удаляйте их.

Источники

  1. find(1) man7.org
  2. du(1) man7.org

Последняя проверка: