К содержимому
Claude Code с 0:полный курс
Уровень 3 · Поиск и потоки 4 мин Проверено автором · 2 июл. 2026 г.

find по имени

Флаг -name фильтрует результаты find по имени или маске. Как из всего дерева вытащить только нужные файлы.

Уровень 3 · 0 / 10 уроков0%

В прошлом уроке find . показал всё дерево целиком. Но обычно тебе нужно не всё, а что-то конкретное — например, «все файлы, начинающиеся на букву g». Чтобы отфильтровать результат, добавь флаг -name с маской.

Флаг -name — фильтр по имени

-name говорит команде find: «оставь только файлы, чьё имя совпадает с этой маской». Маски ты уже знаешь — те самые * и ?. Записываем маску в двойных кавычках:

find . -name "g*"

Маска g* читается как «начинается на g, а дальше что угодно». Под неё попадёт guide.txt, но не readme.txt и не logo.png — те на g не начинаются.

Совет

Кавычки вокруг маски нужны не для красоты. Без них оболочка попробует раскрыть g* сама, ещё до запуска find, и поиск отработает не так, как ты задумал. Привыкай всегда брать маску для -name в кавычки.

Сначала найти, потом сузить

Хороший приём: запусти find . без фильтра, посмотри, что вообще есть, а затем добавь -name "маска", чтобы оставить только нужное. Так ты не гадаешь вслепую, а отсеиваешь лишнее шаг за шагом.

Попробуй

В папке docs лежат readme.txt, guide.txt и logo.png. Найди только то, что начинается на «g»:

find . -name "g*"

В выводе появится guide.txt. Остальные файлы под маску не подходят, и find их пропустит.

Мини-проверка

Ты не помнишь точное имя файла в большом проекте. Какой порядок действий разумнее?

Проверь себя

Отвечено 0/3
Режим:

Зачем нужен флаг `-name` у команды find?

Что найдёт `find . -name "g*"`?

Почему маску в `-name` берут в кавычки?

Выполни задание в терминале и ответь на вопросы, чтобы завершить урок.

📝 Мои заметки

Сохраняется автоматически в этом браузере · видно на странице «Заметки».

Задание

Найди все файлы, имя которых начинается на «g»: find . -name "g*".

Tab дополнить · прошлые · Ctrl+L очистить · help команды

  • Не выполнено: find с -name
  • Не выполнено: Найдены файлы на «g»

Вопросы и ответы по уроку

Зачем нужен флаг `-name` у команды find?

`-name` — это фильтр: find покажет только те файлы, чьё имя совпадает с маской.

Что найдёт `find . -name "g*"`?

Маска `g*` — «g, а дальше что угодно». Под неё попадёт `guide.txt`, но не `logo.png`.

Почему маску в `-name` берут в кавычки?

Без кавычек оболочка может подставить имена сама, и find получит уже не маску. Кавычки передают маску команде как есть.

Ты не помнишь точное имя файла в большом проекте. Какой порядок действий разумнее?

Рабочий приём из урока: сначала посмотреть всё дерево без фильтра, а затем отсечь лишнее маской в -name — шаг за шагом, не вслепую.

Почитать по теме в блоге

Листай уроки клавишами · поиск по ⌘K