# Поиск файлов: find

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

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

Команда `ls` показывает, что лежит в текущей папке. Но она не заглядывает внутрь подпапок — а файлы часто прячутся глубоко, в папке внутри папки внутри папки. Чтобы увидеть **всё дерево разом**, нужна команда `find`.

## find . — обойти всё дерево

`find` (от *find* — «найти») рекурсивно обходит папку и **все вложенные подпапки**, выводя каждый файл и каждую папку, которые встретит по пути:

```
find .
```

Точка `.` означает «начни с текущей папки». Слово «рекурсивно» здесь — ключевое: `find` не останавливается на верхнем уровне, а спускается всё глубже и глубже, пока не покажет даже самый спрятанный файл.

Почему это важно? Когда проект разрастается, ты теряешь из виду, где что лежит. `find .` даёт честную карту: один взгляд — и видно всё, ничего не скрыто в недрах подпапок.

## Попробуй

В твоей папке есть файл `a.txt`, файл `notes.txt` и — внимание — файл `b.txt`, спрятанный в подпапке `sub` внутри `projects`. Выведи всё дерево целиком:

```
find .
```

В выводе ты увидишь и `b.txt`, хотя он лежит на два уровня вглубь. Именно это и значит «рекурсивный обход» — никто не спрячется.
