Введение в терминал: от ls, cd, mkdir до Bash, Git и развертывания AI-инструментов
Руководство для новичков о работе с командной строкой в терминале, объясняющее основы Terminal, Shell, Bash, Zsh, пути, команды ls, cd, mkdir, git clone, npm run dev и другие базовые понятия.
Многие, впервые встречаясь с командной строкой, воспринимают её как «окно хакера»: без кнопок, без иконок, только строки команд на английском. Особенно при работе с GitHub, Vercel, Node.js, Python, Claude Code, Codex или различными AI Agent-проектами, в инструкциях часто встречаются ls, cd, mkdir, git clone, npm install, npm run dev, и новички легко теряются.
Но командная строка не такая мистическая. По сути, это просто другой способ управления компьютером: в графическом интерфейсе вы кликами мыши открываете папки, создаёте и перемещаете файлы, открываете проекты; в командной строке вы делаете то же самое с помощью текстовых команд.
Эта статья объясняет терминал, Shell, Bash, Zsh, пути, часто используемые команды и их связь с GitHub, Vercel, Python, Node.js и развертыванием AI-инструментов максимально простым языком. Поняв эти понятия, вы легче разберётесь в описаниях open source-проектов, инструкциях по деплою сайтов и документации AI-инструментов.
1. Что такое терминал, Shell, Bash и Zsh?
Перед изучением командной строки важно различать несколько похожих понятий.
| Название | Как понимать | Описание |
|---|---|---|
| Terminal / Терминал | Окно для ввода команд | Интерфейс командной строки, который вы открываете в macOS, Linux или Windows |
| Shell | Программа для интерпретации команд | Отвечает за понимание введённых команд и передачу их системе |
| Bash | Распространённый Shell | Во многих Linux-учебниках Bash используется по умолчанию |
| Zsh | Другой Shell | Сейчас в macOS чаще встречается именно Zsh |
| PowerShell | Распространённый Shell в Windows | Один из более современных вариантов командной среды Windows |
| Git Bash | Среда Unix-подобных команд для Windows | Часто ставится вместе с Git for Windows, удобна для запуска команд из GitHub-туториалов |
Самое простое объяснение:
Вы вводите команду в терминал, Shell её понимает, затем операционная система выполняет.Поэтому фраза из многих инструкций «откройте Bash и выполните команды» для начинающих обычно означает:
Откройте терминал и введите эти команды.Нужно учитывать, что окружение командной строки слегка отличается между системами. Команды ls, cd, mkdir, rm, часто встречающиеся в macOS/Linux гайдах, в PowerShell Windows могут выглядеть иначе; но при использовании Git Bash, WSL или Unix-подобного окружения они обычно ближе к материалам для macOS/Linux.
2. Что такое Bash и почему о нём всё время говорят?
Bash (Bourne Again Shell) — это очень распространённый интерпретатор командной строки. Множество Linux-серверов, гайдов по деплою и README в open-source-проектах по умолчанию используют Bash или синтаксис, близкий к Bash.
Многие примеры из гайдов завязаны именно на привычках Bash:
cd my-project && npm installexport OPENAI_API_KEY="your_api_key"python main.py --input data.txtBash не про «сложное написание кода», а про связку нескольких системных операций: переход по папкам, установка зависимостей, выставление переменных окружения, запуск скриптов, просмотр логов, деплой проекта.
Для начинающего достаточно сначала выучить следующие типы задач:
- Как переключаться между директориями;
- Как просматривать файлы;
- Как создавать, копировать, перемещать и удалять файлы;
- Как запускать программы;
- Как понимать параметры и опции;
- Как читать символы
&&,|,>и>>; - Как определить, насколько опасна команда.
Когда эти основы усвоены, можно переходить к переменным, циклам, условным конструкциям и скриптам — не поздно.
3. Базовая структура команды
Обычно полноценная команда состоит из трёх частей:
command [options] [arguments]Например:
ls -la ~Её можно разобрать так:
| Часть | Пример | Значение |
|---|---|---|
| Команда (Command) | ls | Что нужно выполнить |
| Опции (Options) | -la | Как изменить поведение команды |
| Аргументы (Arguments) | ~ | На какой объект воздействует команда |
Ещё один пример:
mkdir -p images/iconsЭто значит: создать путь images/icons; если папки images нет, создать её тоже.
Часто новички пугаются из-за того, что смотрят на команду как на непонятную английскую строку. На деле если разложить по частям, почти всё становится ясно:
python main.py --input data.txt --output result.mdЭта команда означает:
python: запуск Python;main.py: файл, который запускается;--input data.txt: входной файлdata.txt;--output result.md: выходной файлresult.md.
4. Пути: «адреса» в мире командной строки
Путь — это расположение файла или папки на компьютере.
Например, в macOS:
~/GitHub/LamjinlabWebsiteЭто похоже на адрес папки:
Домашний каталог пользователя ~
└── GitHub
└── LamjinlabWebsiteОсновные символы путей:
| Символ | Значение | Пример |
|---|---|---|
/ | Разделитель пути, также обозначение корня | /Users/yourname |
~ | Домашний каталог текущего пользователя | ~/Desktop |
. | Текущая директория | ./package.json |
.. | Родительская директория | cd .. |
Например:
cd ..Значит перейти в папку уровнем выше.
Или:
cd ~/GitHub/LamjinlabWebsiteЗначит зайти в папку GitHub/LamjinlabWebsite в домашнем каталоге.
Если путь содержит пробелы, лучше брать его в кавычки:
cd "My Projects"Или экранировать пробел обратным слэшем:
cd My\ ProjectsДля новичков вариант с кавычками обычно нагляднее и менее подвержен ошибкам.
5. Часто используемые базовые команды
Ниже команды, которые лучше всего освоить в первую очередь.
1. pwd: показать текущую папку
pwd = print working directory — вывести текущий рабочий каталог.
pwdПример вывода:
/Users/yourname/GitHub/LamjinlabWebsiteЕсли не знаете, где находитесь, сначала введите pwd.
2. ls: показать файлы и папки
ls = list — вывести содержимое текущей директории.
lsРаспространённые варианты:
ls -lПоказать подробную информацию.
ls -aПоказать скрытые файлы.
ls -laПоказать подробную информацию и скрытые файлы.
Скрытые файлы обычно начинаются с .:
.env
.gitignore
.DS_Store.env и .env.local часто хранят API-ключи, адреса БД и другие чувствительные настройки, и такие файлы не стоит отправлять в GitHub без необходимости.
3. cd: смена директории
cd = change directory — переключение директории.
cd DesktopПерейти в рабочий стол.
cd ..Перейти на уровень выше.
cd ~Перейти в домашний каталог пользователя.
cd -Вернуться в предыдущую директорию.
Очень удобно при переключении между проектами.
4. mkdir: создать папку
mkdir = make directory — создать папку.
mkdir imagesСоздать папку images.
Часто используют и более безопасный вариант:
mkdir -p images/iconsФлаг -p создаёт промежуточные каталоги, если их нет; если папка уже существует, ошибка не будет.
Например:
mkdir -p ~/ai-agent-workflow-ppt/imagesТо есть будет создан путь:
~/ai-agent-workflow-ppt/imagesЕсли ai-agent-workflow-ppt не существует, она будет создана автоматически.
5. touch: создать пустой файл
touch обычно используется для создания пустого файла.
touch README.mdСоздаёт файл README.md.
В проектах сайтов часто встречается:
touch .env.localОбычно это означает создание локального файла переменных окружения для API-ключей, адресов БД и прочих настроек.
6. cat, less, head, tail: просмотр содержимого файлов
cat быстро показывает содержимое текстового файла.
cat README.mdЕсли файл короткий, cat удобен; для больших файлов лучше less с постраничным просмотром:
less README.mdОбычно используется пробел для листания и q для выхода.
Только начало файла:
head README.mdТолько конец файла:
tail README.mdДля логов часто используют tail:
tail -f app.logФлаг -f — постоянное отслеживание изменений, удобно для наблюдения за логами приложения.
7. cp: копирование файлов и папок
cp = copy — копирование.
Копирование файла:
cp a.txt b.txtКопирование папки обычно с -r:
cp -r images images-backup-r означает рекурсивное копирование, то есть с содержимым вложенных файлов и папок.
8. mv: перемещение или переименование
mv = move — перемещение.
Переименование файла:
mv old.md new.mdПеремещение файла:
mv article.md content/posts/ai/То есть mv имеет два распространённых применения: перемещение и переименование.
9. rm: удаление файлов и папок
rm = remove — удаление.
Удаление файла:
rm test.txtУдаление папки:
rm -r test-folderС новенькими важно быть очень осторожными с такими командами:
rm -rf some-folder-r — удаление рекурсивно, -f — без подтверждения. Эта команда не отправляет файлы в корзину, а удаляет сразу, поэтому путь нужно проверять перед запуском.
10. echo: вывести текст
echo выводит текст, часто используется вместе с > или >> для записи в файл.
echo "hello"Вывод:
helloЗапись в файл:
echo "hello" > test.txtВ файл test.txt будет записано hello.
6. Базовые приёмы работы с оболочкой
1. Автодополнение по Tab
Введя часть команды или имени файла, нажмите Tab, и терминал попытается дописать автоматически.
Например, в текущей папке есть:
LamjinlabWebsiteВы вводите:
cd LamИ после Tab команда может дополниться до:
cd LamjinlabWebsite2. История команд стрелками вверх/вниз
Стрелка ↑ показывает предыдущую команду, ↓ — следующую.
Это очень удобно при частом повторении команд, например:
npm run devЕсли вы уже запускали её, достаточно нажать ↑, чтобы вернуть строку, без повторного набора.
3. Ctrl + C — прерывание программы
Если команда зависла или вы хотите остановить текущую программу:
Ctrl + CС его помощью можно остановить локальный dev-сервер, Python-скрипт, Node.js-приложение.
4. clear — очистить экран
Если много текста, введите:
clearЭкран очищается, работать становится удобнее.
5. history — история команд
Чтобы посмотреть ранее введённые команды, выполните:
historyБудет выведен список. Новичкам полезно сверяться, что именно вы запускали.
7. Расшифровка распространённых символов
1. &&: выполнить следующую команду только после успеха предыдущей
mkdir -p images && lsЭто означает: сначала создать папку images, и только если это удастся — выполнить ls.
2. ;: выполнить следующее вне зависимости от результата предыдущего
mkdir images; lsСначала пытаемся создать images, затем выполняем ls. Даже если mkdir не удался, ls всё равно может выполниться.
Поэтому при установке зависимостей и деплое лучше понимать именно смысл &&, потому что он явно требует успешного завершения первого шага.
3. |: пайп (конвейер)
Конвейер передаёт вывод первой команды следующей:
ls | grep "mdx"Сначала выводит список файлов текущей папки, затем отбирает строки с mdx.
4. > и >>: перенаправление вывода
> пишет вывод в файл, перезаписывая его:
echo "hello" > test.txt>> дописывает в конец файла:
echo "world" >> test.txtНовички должны помнить: > перезаписывает файл, поэтому нужно быть внимательнее.
5. *: подстановочный символ
* означает матч нескольких символов.
Например:
ls *.mdПоказать все файлы с расширением .md в текущей директории.
Или:
rm *.logУдалить все .log в текущей папке. Это потенциально опасная команда — убедитесь, что находитесь в правильной директории.
8. На примерах понять команды
Смотрите на команду:
mkdir -p ~/ai-agent-workflow-ppt/images && ls ~/ai-agent-workflow-ppt/Её можно разложить на две части:
mkdir -p ~/ai-agent-workflow-ppt/imagesЭто создаёт папку images внутри проекта.
ls ~/ai-agent-workflow-ppt/Это показывает содержимое папки ai-agent-workflow-ppt.
&& между ними означает:
Выполнить просмотр только после успешного создания.То есть вся команда означает:
Сначала создать папку images, затем посмотреть содержимое каталога проекта.Такие команды обычно безопасны, так как они только создают папку и читают структуру, без удаления.
9. Как командная строка связана с GitHub?
GitHub — платформа для размещения open-source-проектов, а Git — инструмент контроля версий. Большинство проектов на GitHub нужно сначала скачать на локальную машину.
Самая частая команда:
git clone https://github.com/example/project.gitОна копирует удалённый репозиторий GitHub на ваш компьютер.
Затем обычно заходят в каталог:
cd projectИ смотрят файлы:
lsВ большинстве README вы найдёте:
git clone https://github.com/example/project.git
cd project
npm install
npm run devНовичкам не стоит запускать всё сразу. Лучше понимать по шагам:
1. git clone: скачать проект; 2. cd project: перейти в каталог проекта; 3. npm install: установить зависимости; 4. npm run dev: запустить локальный сервер разработки.
Тогда понятно, что делает каждый шаг, и проще диагностировать ошибки.
10. Как командная строка связана с Node.js и npm?
Много фронтенд-проектов, Next.js и проектов на Vercel используют Node.js и npm.
npm — это менеджер пакетов в экосистеме Node.js. Типичные задачи: установка зависимостей, запуск скриптов, запуск dev-сервера, сборка проекта.
Частые команды:
npm installУстановка зависимостей проекта. Обычно читает package.json в текущей директории.
npm run devЗапускает скрипт dev из package.json, обычно это запуск локального dev-сервера.
npm run buildЗапускает сборочный скрипт, обычно для production-сборки.
npm startЗапускает скрипт старт, поведение зависит от проекта и его package.json.
Когда вы видите npm run dev, не нужно просто выучить команду наизусть. Откройте package.json и посмотрите, как у него настроено:
{
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start"
}
}Это значит:
npm run devфактически запускаетnext dev;npm run buildфактически запускаетnext build;npm startфактически запускаетnext start.
С этим пониманием туториалы по frontend-проектам становятся заметно понятнее.
11. Как командная строка связана с Python и AI-инструментами?
Если вы просто читаете статьи в браузере, возможно, командная строка вам не нужна. Но если хотите использовать больше AI-инструментов, open-source-проекты и автоматизированные пайплайны, без неё почти не обойтись.
Например:
python main.pyЗапуск Python-скрипта.
python -m venv .venvСоздание виртуального окружения Python.
pip install -r requirements.txtУстановка зависимостей Python-проекта.
vercel deployРазвёртывание веб-проекта.
claudeМожет запускать инструмент вроде Claude Code — зависит от способа установки.
Многие AI Agent, Claude Code, Codex, Cursor, Next.js, FastAPI и проекты на Vercel в итоге делают то же самое через терминал: установка, запуск, отладка и деплой.
Поэтому изучать командную строку — не ради «быть профи», а ради реального контроля над своими проектами.
12. Частые ошибки новичков
1. Неизвестно, в какой директории вы сейчас
Решение:
pwdСначала уточните текущую позицию.
2. Ошибка в пути
Решение: чаще используйте автодополнение Tab, меньше вручную печатайте длинные пути.
3. Неправильный регистр в имени файла
Во многих системах регистр символов в имени может влиять на выполнение.
Например:
README.md
readme.mdЭто могут быть разные файлы.
4. Неправильное использование удаления
Особенно:
rm -rfПеред запуском проверьте путь и не выполняйте команды слепо.
5. Сразу запускать скопированную неизвестную команду
Это одна из самых опасных привычек новичков. Перед выполнением любой команды стоит понять хотя бы три вещи:
- Может ли она удалить файлы?
- Может ли она перезаписать файл?
- Может ли она отправить чувствительные данные во внешнюю систему?
Если в команде есть rm -rf, sudo, curl ... | bash, chmod 777, >, стоит быть особенно внимательным.
6. Игнорировать сообщения об ошибках
Многие ошибки уже прямо подсказывают причину. Например:
No such file or directoryОбычно значит, что файла или папки нет — вероятно, проблема в пути.
Permission deniedОбычно значит нет прав на выполнение или доступ.
command not foundОбычно команда не найдена: возможно, инструмент не установлен или PATH не настроен.
EADDRINUSEЧасто появляется в локальном dev-сервере: порт уже занят, например 3000 уже используется другим процессом.
13. Рекомендуемый порядок обучения
Если вы начинаете с нуля, рекомендую такой порядок:
1. Сначала выучите pwd, ls, cd и поймите, где вы находитесь; 2. Затем mkdir, touch, cp, mv, чтобы понять, как создавать и перемещать файлы; 3. Потом осторожно изучите rm, чтобы знать, как удалять, но не злоупотреблять; 4. Затем cat, less, head, tail, чтобы читать файлы и логи; 5. Далее &&, |, >, >>, чтобы понимать, как команды связаны между собой; 6. И в конце git clone, npm install, npm run dev, python main.py, чтобы применять командную строку в реальных проектах.
Освоив это, вы сможете понимать большую часть базовых команд из README множества GitHub-проектов.
14. Итоги
Командная строка — это не магия и не инструмент только для «профессиональных» разработчиков. Это просто другой способ работать с компьютером.
Её можно представить так:
Графический интерфейс управляет компьютером через мышь и кнопки;
Командная строка управляет компьютером через текст и команды.Когда вы уверенно используете ls, cd, mkdir, pwd, git clone, npm run dev, дальнейшее изучение GitHub, Vercel, Python, Node.js, Claude Code и AI Agent-проектов станет заметно проще.
Важнее всего не выучить все команды разом, а постепенно привыкать к ним в практике. Когда вы не понимаете команду, разберите её по частям: что она делает, какие опции переданы, на какой объект она воздействует. Тогда командная строка перестанет быть набором непонятных символов и станет управляемым, предсказуемым и удобным инструментом.
Часто задаваемые вопросы
Для какого уровня разработчиков эта статья?
Можно ориентироваться на раздел «Целевая аудитория» в основном тексте. В разделе «Программирование» сайта публикуются материалы от начального уровня до тем по AI-программированию, и у каждой статьи своя предпосылка.
Будут ли отличия команд между ОС?
Да. Терминальные окружения, формат путей и синтаксис команд в macOS, Linux и Windows отличаются. Если статья не указала конкретную платформу, лучше сверять с официальной документацией и адаптировать под свою систему.
Какие AI-инструменты лучше использовать для изучения программирования?
На данный момент Claude Code и Codex считаются одними из самых сильных AI-инструментов для программирования: они объясняют код, подсказывают логику, помогают с отладкой и генерацией скриптов. Обзор см. в статьях CC Switch Обзор инструментов и Vibe Coding Сборник вопросов для собеседования.
Какая привычка важнее всего при изучении программирования?
Практика важнее чтения инструкций. Лучше как можно раньше взять реальный маленький проект и работать с ним: сталкиваться с ошибками, читать документацию и код, а не только изучать теорию.
Источники
- GNU Bash Reference Manual
- GNU Bash Manual:Shell Commands
- GNU Coreutils Manual
- GNU Coreutils:mkdir invocation
- Apple Support:Terminal User Guide for Mac
- Microsoft Learn:Windows Terminal Documentation
- Git Documentation:git clone
- Pro Git Book
- npm Docs:scripts
- npm Docs:npm-run-script
- The Art of Command Line
- MDN Web Docs
Терминал — это базовая среда для AI-инструментов программирования. Если хотите подробнее узнать, как использовать Claude Code или Codex в терминале, см. CC Switch Введение в инструменты и Vibe Coding Сборник вопросов для собеседования.
Share