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 {} \;