find в Linux как инструмент для администрирования
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
@sysadmin1
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
@sysadmin1