Ви можете почати з того, що сказати find /var/dtpdev/tmp/ -type f -mtime +15. Тут знайдуться всі файли, старші 15 днів, і надрукуються їх імена. За бажанням можна вказати -printв кінці команди, але це дію за замовчуванням. Доцільно спочатку запустити вищевказану команду, щоб побачити, які файли обрані.
Після того, як ви переконаєтесь, що findкоманда перераховує файли, які ви хочете видалити (та жодних інших), ви можете додати "дії" для видалення файлів. Типові дії для цього:
-exec rm -f {} \;(або, що еквівалентно -exec rm -f {} ';')
Це буде працювати rm -fна кожному файлі; наприклад,
rm -f /var/dtpdev/tmp/A1/B1; rm -f /var/dtpdev/tmp/A1/B2; rm -f /var/dtpdev/tmp/A1/B3; …
-exec rm -f {} +
Це працюватиме rm -fна багатьох файлах одночасно; наприклад,
rm -f /var/dtpdev/tmp/A1/B1 /var/dtpdev/tmp/A1/B2 /var/dtpdev/tmp/A1/B3 …
тож це може бути трохи швидше, ніж варіант 1. (Можливо, вам доведеться запустити rm -fкілька разів, якщо у вас є тисячі файлів.)
-delete
Це говорить про те find, щоб видалити файли, не запускаючи rm. Це може бути нескінченно швидше, ніж -execваріанти, але це працюватиме не у всіх системах.
Отже, якщо ви використовуєте варіант 2, вся команда буде:
find /var/dtpdev/tmp/ -type f -mtime +15 -exec rm -f {} +