# Как устроена команда: имя, аргументы, флаги

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

Разбираем команду на части и учимся добавлять флаги, чтобы менять её поведение.

Ты уже вводил команды и видел, как терминал на них отвечает. Теперь давай посмотрим, **из чего состоит** любая команда — это знание разом сделает понятными сотни команд, которые ты встретишь дальше.

## Три части команды

Почти любая команда складывается из трёх кирпичиков:

```
ls -a documents
```

- **Имя команды** — `ls`. Это то, *что* ты просишь сделать.
- **Флаг** — `-a`. Он *настраивает* поведение команды.
- **Аргумент** — `documents`. Это то, *над чем* команда работает.

Имя есть всегда, а флаги и аргументы — по необходимости. Иногда команда обходится одним именем, как `pwd`.

## Зачем нужны флаги

Флаг — это маленький переключатель. Он начинается с дефиса `-` и слегка меняет то, как команда работает. Одна и та же команда с разными флагами ведёт себя по-разному, и это очень удобно: не нужно запоминать десятки отдельных команд.

Например, флаг `-a` (от английского *all*, «все») заставляет `ls` показать **все** файлы, включая скрытые.

Скрытыми считаются файлы, чьё имя начинается с точки, например `.hidden`. Обычная команда `ls` их не показывает — это сделано, чтобы не мешать тебе служебными файлами. Но они никуда не делись.

## Попробуй

В текущей папке прячется файл `.hidden`. Обычный `ls` его не покажет. Твоя задача — вывести список **со скрытыми файлами**:

```
ls -a
```

Сравни вывод с обычным `ls` — и ты сразу увидишь, как один маленький флаг меняет картину.
