find — утилита поиска файлов, используемая в UNIX‐подобных операционных системах. Может производить поиск в одной или нескольких директориях с использованием критериев, заданных пользователем. По умолчанию, find возвращает все файлы после текущего в рабочей директории. Более того, find позволяет применять пользователю определённые действия ко всем найденным файлам. Также поддерживаются регулярные выражения.

Список ключейПравить

  • -name — искать по имени файла, при использовании подстановочных образцов параметр заключается в кавычки.
  • -type — тип искомого: f=файл, d=каталог, l=связь (link).
  • -user — владелец: имя пользователя или UID.
  • -group — владелец: группа пользователя или GID.
  • -perm — указываются права доступа.
  • -size — размер: указывается в 512-байтных блоках или байтах (признак байтов — символ «c» за числом).
  • -atime — время последнего обращения к файлу.
  • -ctime — время последнего изменения владельца или прав доступа к файлу.
  • -mtime — время последнего изменения файла.
  • -newer — искать файлы созданные позже указанной даты.
  • -delete — удалять найденные файлы.
  • -ls — генерирует вывод как команда ls -dgils.
  • -print — показывает на экране найденные файлы.
  • -exec command {} \; — выполняет над найденным файлом указанную команду; обратите внимание на синтаксис.
  • -ok — перед выполнением команды указанной в -exec, выдаёт запрос.
  • -depth — начинать поиск с самых глубоких уровней вложенности, а не с корня каталога.
  • -prune — используется, когда вы хотите исключить из поиска определённые каталоги.

ПримерыПравить

  • find / -newerct '1 minute ago' -print — вывод списка файлов во всей файловой системе, изменённых в течение последней минуты
  • find . -type f -empty — вывод списка пустых файлов в текущей директории
  • find . -type d -empty -exec rmdir {} \; — удаление пустых поддиректорий

СсылкиПравить


hu:Find