find - поиск файлов
Поиск файлов по имени
find /var/www/ -name "file.conf" find /var/www/ -name "*.conf"
Поиск без учёта регистра:
find /var/www/ -iname file.conf
Поиск по размеру файлов
Файлы больше 10Mb
find /home/user -size +10M
Файлы меньше 1Gb
find /home/user -size -1G
Поиск по маске прав
find ./ -perm 700
Поиск по дате
Файлы созданные или изменённые в течении последних 5 дней
find /home/user -type f -mtime -5
Файлы созданные или изменённые в течении последних 5 минут
find /home/user -type f -mmin -5
Найти файлы созданные или изменённые старше 30 дней (ака поиск устаревших файлов):
find /home/user -type f -mtime +30
Удалить файлы созданные или изменённые старше 30 дней:
find /home/user -type f -mtime +30 -delete
Время последнего обращения к которым более 5 дней
find /usr/bin -type f -atime +5
Дополнительный возможности использования
Поиск строки в файлах
find ./ -type f -exec grep -i -H "STRING" {} \;
Найти все файлы php в который встречается строка STRING:
find ./ -type f -name "*.php" -exec grep -i -H "STRING" {} \;
Так же можно использовать команду grep с опцией -R для поиска файлов по содержимому:
grep "STRING" -R /path/for/find
Замена текста в файлах
find ./ -type f -name "*.conf" -exec sed -i s/OLDTEXT/NEWTEXT/g {} \;
Массовое изменения прав доступа
Установка прав доступа 644 на все файлы в текущей директории и всех поддиректориях:
find ./ -type f -exec chmod 644 {} \;
Установка прав доступа 755 на все папки в текущей директории и всех поддиректориях:
find ./ -type d -exec chmod 755 {} \;
Скобочки {} означают передаваемый аргумент команде выполняющейся в -exec от утилиты find, такой как путь файла
Обсуждение
Спасибо!
Исключить из поиска саму директорию
или
Спасибо, давно искал
Годнота спасибо