6.3.7 Пошук за допомогою find

У командному рядку дуже зручно виконувати пошук файлів та папок за допомогою команди find

  • Пошук файлів на ім’я:
  1. find /var/www/ -name "file.conf"
  2. find /var/www/ -name "*.conf"
  • Пошук без урахування регістру:
  1. find /var/www/ -iname file.conf
  • Пошук за розміром файлів:
  1. find /home/user -size +10M
  • Пошук за маскою прав:
  1. find ./-perm 700
  • Пошук за датою файлів, створених або змінених протягом останніх 5 днів:
  1. find /home/user -type f -mtime -5
  • Файли створені або змінені протягом останніх 5 хвилин:
  1. find /home/user -type f -mmin -5
  • Знайти файли, створені або змінені старше 30 днів (ака пошук застарілих файлів):
  1. find / path -type f -mtime +30
  • Видалити створені або змінені файли старше 30 днів:
  1. find / path -type f -mtime +30 -delete
  • час останнього звернення до яких понад 5 днів:
  1. find /usr/bin -type f -atime +5
  • Пошук рядка у файлах:
  1. find ./ -type f -exec grep -i -H "STRING" {} \;
  • Знайти всі файли php в який зустрічається рядок STRING:
  1. find ./ -type f -name "*.php" -exec grep -i -H "STRING" {} \;
  • Також можна використовувати команду grep з опцією -R для пошуку файлів за вмістом:
  1. grep "STRING" -R /path/for/find
  • Заміна тексту у файлах:
  1. find ./ -type f -name "*.conf" -exec sed -i's/OLDTEXT/NEWTEXT/g' {} \;
  • Масове зміни прав доступу, встановлення прав доступу 644 на всі файли в поточній директорії та всіх піддиректоріях:
  1. find./-type f-exec chmod 644 {} \;
  • Встановлення прав доступу 755 на всі папки в поточній директорії та всіх піддиректоріях:
  1. find./-type d -exec chmod 755{}\;
  • Пошук всіх файлів html, що містять код “0; URL = http” і встановлення для них всіх прав 000 (корисно для пошуку шкідливого коду):
  1. find /var/www/exampleuser/data/ -type f -name "*.html" -exec grep -i -H "0;URL=http" {} \; -exec chmod -R 000{}\;
  • Пошук усіх php файлів у вказаному каталозі wp-content/uploads до 3-х вкладень усіх користувачів всіх сайтів сервера та встановлення їм усім прав 000:
  1. find /var/www/exampleuser/data/www/*/wp-content/uploads/*/*/*.php -exec chmod -R 000 {} \;