Поиск файлов (команда find)

Команда find просматривает каталоги, пути к которым заданы в параметре Путь, и выполняет рекурсивный поиск файлов, соответствующих булевскому выражению, формат которого описан ниже.

Вывод команды find зависит от параметра Выражение.

Ниже приведены примеры применения команды find:
  • Для просмотра списка всех файлов с именами .profile введите:
    find / -name .profile
    Поиск файлов будет выполняться во всей файловой системе, а выводом команды будет список каталогов, где хранятся файлы с именем .profile. Косая черта (/) означает, что команда find должна просмотреть корневой каталог (/(root) и все его подкаталоги.

    Для экономии времени можно сузить область поиска, указав каталоги, в которых предположительно находятся файлы.

  • Для получения списка файлов текущего каталога, для которых установлены права доступа 0600, введите:
    find . -perm 0600
    Появится список файлов, для которых установлено разрешение на чтение и запись только для владельца. Точка (.) сообщает команде find о необходимости поиска в текущем каталоге и во всех его подкаталогах. Информация о значениях прав доступа приведена в описании команды chmod.
  • Для получения списка файлов с определенным кодом прав доступа из нескольких каталогов введите:
    find manual clients proposals -perm -0600
    Появится список имен файлов, для которых установлено разрешение на чтение и запись только для владельца и, возможно, другие разрешения. Поиск будет выполняться в каталогах manual, clients и proposals и их подкаталогах. В предыдущем примере было задано выражение -perm 0600, позволяющее найти файлы с кодом прав доступа, который в точности равен 0600. В данном примере указано выражение -perm -0600, позволяющее найти все файлы с кодом прав доступа 0600 и выше. В этом случае будут также выбраны файлы с кодами прав доступа 0622 и 2744.
  • Для просмотра списка всех файлов текущего каталога, которые были изменены в течение текущих суток, введите:
    find . -ctime 1 
  • Для получения списка обычных файлов, для которых создано несколько связей, введите:
    find . -type f -links +1
    Появится список обычных файлов (-type f), для которых создано несколько связей ((-links +1).
    Прим.: Для каждого каталога создается по крайней мере две связи: запись в родительском каталоге и запись . (точка) внутри самого каталога. Дополнительная информация приведена в описании команды ln.
  • Для того чтобы получить список файлов, размер которых равен 414 байт, введите:
    find . -size 414c