# find по имени

Курс: Claude Code и терминал: с 0 — https://zero2claude.ru/learn/code-terminal
Канонический URL: https://zero2claude.ru/learn/code-terminal/3-7-find-name

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

В прошлом уроке `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` их пропустит.
