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