Rain WikiWindows · Linux · Android

Намиране на големи и стари файлове с find

Инструмент от команден редВсички Linux дистрибуции

find е стандартната команда в Linux, която търси в дърво от директории за файлове, отговарящи на условия като размер, възраст, име или тип. find / -xdev -type f -size +1G извежда файлове по-големи от 1 GB на кореновата файлова система, което често е най-бързият начин да видиш какво внезапно е запълнило диска.

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

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

2Показване на размери

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

3Безопасно изтриване

-delete премахва всяко съвпадение незабавно. Изпълни същата команда без -delete първо, прочети списъка и след това добави -delete като последна опция.

Как да намериш файлове над 1 GB

  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 преди проверките изтрива всичко под пътя.
  • Базите данни, виртуалните дискове и swap файловете са големи умишлено: не ги изтривай.

Източници

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

Последен преглед: