Команды поиска · 2 min read · Sep 14, 2025

Поиск файлов и папок с помощью команды find

Поиск файлов и папок с помощью команды find

В этом учебном пособии мы рассмотрим команду find и то, как вы можете быстро использовать ее для поиска файлов в вашей файловой системе. Find — это мощная утилита, способная находить файлы где угодно в вашей системе, включая смонтированные диски и съемные носители, обрабатывать регулярные выражения и даже выполнять другие команды над этими файлами. К счастью, для большинства пользователей требуется всего несколько простых опций, чтобы предоставить им все необходимые возможности.

Формат команды find:

find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path…] [expression]

Опции H, L и P указывают, следует ли следовать символическим ссылкам. debugopts существует для предоставления отладочной информации, а -0level обеспечивает оптимизацию запросов. Для этого учебника и большинства ваших использований find нам нужно будет указать только путь и выражение.

Путь

Путь указывает, где искать в файловой системе. Find будет искать по этому пути и всем подкаталогам. Чтобы искать по всей файловой системе, укажите ‘/‘ в качестве пути.

Выражение

expression состоит из трех частей: OPTIONS, TESTS и ACTIONS.

OPTIONS

-help Это выведет краткое резюме использования команды find

find -help

-mount Эта опция говорит find не искать каталоги на других файловых системах, таких как смонтированные USB-диски и другие тома, которые могут медленнее обрабатываться.

TESTS

Раздел тестов говорит find, что искать.

-executable Это говорит find возвращать только файлы, которые являются исполняемыми и директориями. Это полезно для поиска директории, имя которой вы знаете (совместите с флагом -file d) или исполняемого файла (совместите с флагом -file f).

-name/-iname Это дает строку имени файла (или директории), которую вы ищете. Она должна быть заключена в двойные кавычки (“). Метасимволы (*',?’, и []') могут использоваться для частей имени. -name делает поиск чувствительным к регистру, а -iname — нечувствительным. -regex используйте это вместо -name для поиска имени с использованием регулярного выражения в стиле Emacs. -type Используйте это, чтобы указать, ищете ли вы файл ( -type f) или директорию ( -type d). #### ACTIONS Этот раздел используется для выполнения действий над результатами команды find. -exec Выполните команду для каждого найденного файла с именем файла, переданным команде. ### Подавление ошибок Обычно, когда вы ищете во всех каталогах с вашей учетной записью пользователя, не являющейся root, вы получите много ошибок, таких как: "find:/var/spool/cron/crontabs`: Доступ запрещен. Мы можем удалить их из вывода, отправив их в /dev/null, добавив 2>/dev/null к команде find. ### Примеры Поиск по всей файловой системе для исполняемого файла find / -name "grep" -executable -type f 2>/dev/null Поиск по всей файловой системе (но не смонтированных дисков) для директории find / -mount -executable -iname "music" -type d 2>/dev/null ### Дальнейшее чтение Этот учебник охватывает только часть возможностей find. Я надеюсь, что этого достаточно для выполнения большинства ваших задач, но в руководстве find есть много других опций. man find Для получения информации о регулярных выражениях, чтобы дать вам больше гибкости с вашими поисковыми терминами, смотрите страницу man для регулярных выражений POSIX man 7 regex

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.