find — утилита поиска файлов по имени и другим свойствам, используемая в UNIX‐подобных операционных системах. С лохматых тысячелетий есть и поддерживаться почти всеми из них.
Базовый синтаксис ключей
-name — искать по имени файла, при использовании подстановочных образцов параметр заключается в кавычки. Опция `-name' различает прописные и строчные буквы; чтобы использовать поиск без этих различий, воспользуйтесь опцией `-iname';-type — тип искомого: f=файл, d=каталог, l=ссылка (link), p=канал (pipe), s=сокет;-user — владелец: имя пользователя или UID;-group — владелец: группа пользователя или GID;-perm — указываются права доступа;-size — размер: указывается в 512-байтных блоках или байтах (признак байтов — символ «c» за числом);-atime — время последнего обращения к файлу (в днях);-amin — время последнего обращения к файлу (в минутах);-ctime — время последнего изменения владельца или прав доступа к файлу (в днях);-cmin — время последнего изменения владельца или прав доступа к файлу (в минутах);-mtime — время последнего изменения файла (в днях);-mmin — время последнего изменения файла (в минутах);-newer другой_файл — искать файлы созданные позже, чем другой_файл;-delete — удалять найденные файлы;-ls — генерирует вывод как команда ls -dgils;-print — показывает на экране найденные файлы;-print0 — выводит путь к текущему файлу на стандартный вывод, за которым следует символ ASCII NULL (код символа 0);-exec command {} \; — выполняет над найденным файлом указанную команду; обратите внимание на синтаксис;-ok — перед выполнением команды указанной в -exec, выдаёт запрос;-depth или -d — начинать поиск с самых глубоких уровней вложенности, а не с корня каталога;-maxdepth — максимальный уровень вложенности для поиска. «-maxdepth 0» ограничивает поиск текущим каталогом;-prune — используется, когда вы хотите исключить из поиска определённые каталоги;-mount или -xdev — не переходить на другие файловые системы;-regex — искать по имени файла используя регулярные выражения;-regextype тип — указание типа используемых регулярных выражений;-P — не разворачивать символические ссылки (поведение по умолчанию);-L — разворачивать символические ссылки;-empty — только пустые каталоги.Примеры использования
Ищем все файлы, начиная с текущей директории, название которых начинается на iodmin:
find . -name 'iodmin*'Найти все файлы, начиная с корневой директории, название которых начинается на iodmin:
find / -name 'iodmin*'Поиск в директориях /usr/local/man и /opt/local/man файлов, название которых начинается на iodmin:
find /usr/local/man /opt/local/man -name 'iodmin*'Ищем графические файлы, начиная с текущего каталога (см.на кавычки):
find . -type f -regex ".*\.\(jpg\|jpeg\|gif\|png\|JPG\|JPEG\|GIF\|PNG\)"Вывести список файлов (см. на / ) во всей файловой системе, чей размер больше 100 Мб:
find / -size +100M -printИщем файлы в указанных каталогах:
find /var/spool/postfix/{deferred,active,maildrop,incoming}/ -type f👉 @i_odmin