Поиск файлов по размеру
find ./ -size +10M #больше 10Mb
find ./ -size -10G #меньше 10Gb
find ./ -size 19k #равны 10Kb
Поиск файлов по имени
find ./ -iname linux* #регистронезависимый поиск
find ./ -name linux # регистрозависимый
Поиск файлов по дате
find ./ -mmin -10 #дата модификации меньше 10мин
find ./ -mtime +1 #дата модификации больше суток
find ./ -type f -atime +10 # время обращения больше 10 дней
find ./ -type f -amin -10 #дата модификации последние 10мин
Выполнение команд над найденными файлами
find ./ -mmin -10 -exec ls -l {} \; # выполняем команду ls -l над найденными файлами
Поиск файлов со сменными носителями
find / -xdev -name «*.deb» #искать с исключением сменных носителей
Поиск с исключением
find ./ -iname \*.html ! -iname index.html #исключаем из найденных файлов index.html
Поиск по типу файла
find ./ -type l #тип символическая ссылка
find ./ -type f # тип файл, обычно используется с дополнительными условиями
find ./ -type d # тип директория
find и xargs
Ищем все файлы с расширением shtml выполняем над ними скрипт del_not_used_img.py. Данный скрипт ищет картинки в найденных файлах и выводит имена файлов последний символ которого перевод строки, и выполняется для каждого имени файла команда cp, которая копирует картинки из одной папки в другую. Ключевая опция в xargs i, она выполняет заданную команду для каждой строки.
find ./ -iname \*.shtml -exec ~/sites/bin/del_not_used_img.py {} \; |xargs -i cp ../www/upload/{} upload/
В найденных файлах ищем строку linux и если есть, то выводим имя файла и через двоеточие найденную в нем строку
find ./ -iname \*.py | xargs -i grep -H linux {}
В freebsd надо вместо опции i указывать -E \n, т.е. будет так
find ./ -iname \*.py | xargs -E \n grep -H freebsd {}