Перейти к основному содержимому

Терминал — итоги

Разработчику Аналитику Тестировщику Архитектору Инженеру

Кратко — что стоит унести из раздела "Терминал". Если пункт кажется туманным — откройте указанную главу или оглавление.


FAQ — Часто задаваемые вопросы

Типичные ошибки и ситуации в командной строке. Ниже также — формулировки, как в поиске Google; краткий ответ и ссылка на главу. Команды "наизусть" — в чек-листе.

Вопрос. Ввёл команду — "command not found" / "не является внутренней командой".

Ответ. Программа не в PATH или не установлена; опечатка в имени. Проверьте which/where, полный путь, установку пакета. Подробнее здесь — что такое терминал, Linux, Windows.

Вопрос. Скопировал команду из туториала — сразу Permission denied или "Отказано в доступе".

Ответ. Нужны права на файл или sudo/admin; на Windows — запуск PowerShell от администратора только если задача этого требует. Подробнее здесь — Linux, Windows.

Вопрос. cd в папку с пробелами — "No such file or directory".

Ответ. Путь с пробелами берите в кавычки: cd "Program Files". Обратный слэш в PowerShell экранирует иначе, чем в Bash. Подробнее здесь — знаки препинания, Windows.

Вопрос. rm -rf / или аналог из чата — можно "для шутки" на виртуалке?

Ответ. Даже на ВМ привыкать к стоп-листу опасных команд — перенос ошибки на боевой сервер стоит секунд. Сначала прочитайте, что делает каждый флаг. Подробнее здесь — опасные скрипты.

Вопрос. curl ... | bash — быстрый установщик, все так делают?

Ответ. Вы выполняете непроверенный скрипт от имени вашего пользователя. Скачайте, прочитайте, только потом запускайте — или используйте пакетный менеджер. Подробнее здесь — curl, опасные скрипты.

Вопрос. Команда "зависла" — терминал не реагирует на ввод.

Ответ. Прервите Ctrl+C (SIGINT); если не помогло — Ctrl+Z и kill процесса. Ctrl+Z только приостанавливает — не путать с отменой. Подробнее здесь — знаки препинания, Linux.

Вопрос. Запустил ping без остановки — как выйти?

Ответ. Ctrl+C в Linux/macOS; в Windows ping сам останавливается после N пакетов, иначе тоже Ctrl+C. Подробнее здесь — Linux, Windows.

Вопрос. Вывод команды "улетел" за экран — как пролистать?

Ответ. Конвейер в less: command | less; в PowerShell command | Out-Host -Paging. Или перенаправьте в файл. Подробнее здесь — знаки препинания.

Вопрос. > перезаписал файл — можно вернуть содержимое?

Ответ. Перенаправление > затирает файл до запуска команды. Если команда ничего не вывела — файл пуст. Восстановление из бэкапа или VCS. Используйте >> для дописывания. Подробнее здесь — знаки препинания.

Вопрос. Скрипт .sh двойной клик — открывается блокнот, не выполняется.

Ответ. На Windows ассоциация с редактором; на Linux нужны chmod +x и запуск из терминала ./script.sh с shebang. Подробнее здесь — скрипты Unix, что такое терминал.

Вопрос. PowerShell ругается "execution policy" — скрипт не стартует.

Ответ. Политика блокирует неподписанные .ps1. Для своих скриптов — RemoteSigned для текущего пользователя; не ослабляйте политику глобально без понимания. Подробнее здесь — PowerShell.

Вопрос. В Git Bash команда работает, в CMD — нет (и наоборот).

Ответ. Разные оболочки и синтаксисls vs dir, пути / vs \. Выберите одну оболочку под задачу или используйте полные имена. Подробнее здесь — что такое терминал, Windows.

Вопрос. sudo просит пароль — я же администратор Windows?

Ответ. В Linux sudo — отдельная проверка, пароль пользователя, не "галочка UAC". Root-логин часто отключён — это норма. Подробнее здесь — Linux.

Вопрос. SSH: "Host key verification failed" после переустановки сервера.

Ответ. Ключ сервера в ~/.ssh/known_hosts устарел. Удалите старую строку для этого IP/hostname (осторожно с MITM — убедитесь, что сервер ваш). Подробнее здесь — PuTTY и SSH.

Вопрос. Подключился по SSH — "Connection timed out".

Ответ. Firewall, неверный IP/порт 22, сервер выключен, домашний роутер без проброса. Проверьте ping, порт через Test-NetConnection / nc. Подробнее здесь — PuTTY и SSH, curl.

Вопрос. python script.py — Python 2, а нужен 3 (или наоборот).

Ответ. Явно вызывайте python3 или venv; проверьте which python. На Windows — py launcher py -3. Подробнее здесь — что такое терминал, PATH.

Вопрос. Установил программу через apt, команда всё равно не находится.

Ответ. Обновите hash оболочки hash -r или откройте новый терминал; проверьте, что пакет установил бинарник в /usr/bin. Подробнее здесь — Linux.

Вопрос. npm install падает с "EACCES" — что не так?

Ответ. Не запускайте npm с sudo — ломает права. Исправьте владельца ~/.npm или используйте nvm. Подробнее здесь — Linux, запуск приложений.

Вопрос. Переменная окружения задал через export, после закрытия терминала пропала.

Ответ. export действует в текущей сессии. Для постоянной — пропишите в ~/.bashrc, ~/.profile или системные настройки Windows. Подробнее здесь — Linux, Windows.

Вопрос. make говорит "No rule to make target".

Ответ. Нет цели в Makefile или вы не в той директории. Запускайте из корня проекта; make help если есть. Подробнее здесь — утилита make.

Вопрос. git push из терминала просит логин каждый раз.

Ответ. Настройте SSH-ключ или credential helper, personal access token вместо пароля GitHub. Подробнее здесь — PuTTY и SSH, скрипты Unix.

Вопрос. История команд (history) — случайно показал пароль соседу.

Ответ. Пароли в CLI не передают аргументом (-p secret) — они попадают в history. Используйте prompt или переменные окружения; очистите history. Подробнее здесь — опасные скрипты.

Вопрос. Терминал VS Code и системный — разные результаты одной команды.

Ответ. Разный PATH, shell profile, рабочая директория. Сравните echo $PATH / $env:PATH и pwd. Подробнее здесь — что такое терминал.

Вопрос. docker run — "Cannot connect to the Docker daemon".

Ответ. Служба Docker не запущена или пользователь не в группе docker. Запустите Docker Desktop / systemctl start docker. Подробнее здесь — Linux, справочник утилит.

Вопрос. Кодировка в выводе — "кракозябры" вместо русского текста.

Ответ. Несовпадение UTF-8 и Windows-1251 в консоли. В PowerShell: [Console]::OutputEncoding; в Linux обычно UTF-8. Подробнее здесь — Windows, что такое терминал.

Вопрос. ИИ-агент прислал длинный скрипт — запускать одной командой?

Ответ. Разберите построчно: удаление, форматирование диска, curl наружу, изменение firewall. Сверьте со стоп-листом. Подробнее здесь — опасные скрипты, PowerShell.

Вопрос. "Работает в терминале преподавателя, у меня ModuleNotFoundError".

Ответ. Другой venv или версия Python. Активируйте окружение (source venv/bin/activate) или установите зависимости из requirements.txt. Подробнее здесь — запуск приложений, Linux.

Вопрос. Как открыть командную строку CMD в Windows 11?

Ответ. Win + R → cmd, или Пуск → "Терминал"/"cmd", или Win + X → Terminal. Для админки — "от имени администратора". Подробнее здесь — что такое терминал, Windows.

Вопрос. PowerShell или CMD — что использовать в 2025?

Ответ. PowerShell — основной путь Microsoft: объекты, скрипты, админка. CMD — legacy и простые batch. Подробнее здесь — PowerShell, Windows.

Вопрос. Базовые команды Linux для начинающих — ls cd pwd mkdir?

Ответ. pwd — где вы; ls — список; cd — перейти; mkdir — папка. Шпаргалка — в справочнике. Подробнее здесь — Linux.

Вопрос. Как удалить папку рекурсивно Linux rm -rf безопасно?

Ответ. Сначала ls путь, потом rm -r имя без слэша в корне. Никогда rm -rf /. Подробнее здесь — Linux, опасные скрипты.

Вопрос. Как узнать IP-адрес в терминале Windows и Linux?

Ответ. Windows: ipconfig или Get-NetIPAddress. Linux: ip a или hostname -I. Подробнее здесь — Windows, Linux.

Вопрос. curl и wget — как скачать файл из интернета в консоли?

Ответ. curl -O URL или wget URL. Для API — curl -X GET с заголовками. Подробнее здесь — утилита curl, Linux.

Вопрос. SSH подключение к серверу — команда для Linux и Windows?

Ответ. ssh user@host -p 22. Ключ: ssh -i ~/.ssh/id_rsa user@host. Windows 10+ — встроенный OpenSSH. Подробнее здесь — PuTTY и SSH.

Вопрос. Bash-скрипт .sh — как написать и запустить первый?

Ответ. Shebang #!/bin/bash, chmod +x script.sh, ./script.sh. Подробнее здесь — скрипты Unix.

Вопрос. grep и find — как найти файл или текст в Linux?

Ответ. find . -name "*.log" — файл по имени; grep -r "error" . — строка внутри файлов. На Windows без WSL — findstr / Select-String или нативный grep через Microsoft Coreutils (Preview). Подробнее — поиск текста в файлах, Linux, Windows, справочник утилит.

Вопрос. chmod 777 — можно ли так открыть права на папку?

Ответ. 777 = все могут всё — риск на сервере. Обычно 755 для каталогов, 644 для файлов. Подробнее здесь — Linux.

Вопрос. sudo команда — что делает и когда спрашивает пароль?

Ответ. Запуск от root на одну команду. Пароль — ваш пользовательский, не root-логин. Подробнее здесь — Linux.

Вопрос. Как перезагрузить и выключить Linux из терминала?

Ответ. sudo reboot, sudo shutdown -h now. На сервере — согласуйте с коллегами. Подробнее здесь — Linux.

Вопрос. npm command not found — как установить Node.js?

Ответ. С официального сайта, nvm, apt install nodejs или winget/choco на Windows. Перезапустите терминал. Подробнее здесь — Linux, Windows.

Вопрос. git clone — как скачать репозиторий с GitHub?

Ответ. git clone https://github.com/user/repo.gitcd repo. SSH — через ключ. Подробнее здесь — скрипты Unix, PuTTY и SSH.

Вопрос. docker run hello-world — первый запуск Docker?

Ответ. Установите Docker Desktop, затем docker run hello-world. Если daemon не запущен — см. службу. Подробнее здесь — справочник утилит.

Вопрос. top htop — как посмотреть загрузку CPU и память?

Ответ. top или htop — процессы в реальном времени. Windows: Get-Process, Task Manager из CLI ограничен. Подробнее здесь — Linux, Windows.

Вопрос. tail -f — смотреть лог файл в реальном времени?

Ответ. tail -f /var/log/nginx/access.log — новые строки по мере записи. Ctrl+C — выход. Подробнее здесь — Linux.

Вопрос. tar zip архив — создать и распаковать в Linux?

Ответ. tar -czvf arc.tar.gz папка, распаковка tar -xzvf arc.tar.gz. Zip: unzip file.zip. Подробнее здесь — Linux.

Вопрос. Как добавить программу в PATH Windows и Linux?

Ответ. Linux: строка в ~/.bashrc export PATH="$PATH:/opt/bin". Windows: Параметры → Переменные среды → Path. Подробнее здесь — что такое терминал, Linux.

Вопрос. Конвейер pipe | в bash — как фильтровать вывод?

Ответ. cat file | grep error | wc -l — stdout одной команды → stdin другой. Подробнее здесь — знаки препинания.

Вопрос. man и --help — как читать справку по команде?

Ответ. man ls, git --help. PowerShell: Get-Help Get-Process. Подробнее здесь — Linux, PowerShell.

Вопрос. make install — что делает утилита make?

Ответ. Читает Makefile, собирает цели (build, test, install). Не замена shell, а оркестратор команд. Подробнее здесь — утилита make.

Вопрос. SSH tunnel port forwarding — доступ к БД через сервер?

Ответ. ssh -L 5432:localhost:5432 user@server — локальный порт проброшен на remote. Подробнее здесь — PuTTY и SSH.

Вопрос. Как очистить экран терминала clear cls?

Ответ. Linux/macOS: clear или Ctrl+L. Windows CMD: cls. PowerShell: Clear-Host. Подробнее здесь — Linux, Windows.


Что запомнить

Терминал — это полноценная среда взаимодействия с операционной системой. В отличие от GUI, где действия скрыты за иконками и меню, командная строка делает каждую операцию явной, повторяемой и автоматизируемой (скрипты, CI, удалённое администрирование).

Полезно держать в голове разделение из вводной статьи: окно терминалаоболочкаутилита → ядро ОС.


Основные категории команд

  • Безопасность CLIОпасные скрипты: стоп-лист и проверка команд от ИИ-агента.
  • Работа с файламиcat, cp, mv, rm, chmod (Linux); copy, move, Get-ChildItem (Windows).
  • Управление системойshutdown, reboot, systemctl / service; Stop-Computer, Restart-Computer.
  • Мониторингtop, htop, df, du, ps, free; Get-Process, Get-PSDrive.
  • Сетьping, curl, wget, ssh; современная диагностика портов: ss (Linux), Get-NetTCPConnection (PowerShell); классический netstat ещё встречается в материалах и на экзаменах.

Справочники с примерами: Linux, Windows. Синтаксис цепочек и перенаправлений — знаки препинания.


Автоматизация в разделе

ПлатформаФорматСтатья
Windows (legacy).batСценарии автоматизации
Windows (основной путь).ps1PowerShell
Linux / macOS.shСкрипты Unix
Сборка по MakefilemakeУтилита make
HTTP / API из консолиcurlУтилита curl, curl / fetch — примеры

Удалённый доступ к серверам — PuTTY и SSH.


Три правила работы в терминале

Стоп-лист команд

Перед копированием из чата, туториала или предложения ИИ-агента — curl | bash, rm -rf, git reset --hard, Remove-Item -Recurse -Force.

Топ-10 ловушек и первые шаги после ошибки в Git — в статье Опасные скрипты.

  1. Всегда проверяйте, что делает команда, прежде чем выполнять (особенно rm -rf, Remove-Item -Recurse -Force, массовые chmod).
  2. Используйте sudo / повышение прав только когда это необходимо.
  3. Создавайте алиасы и скрипты для частых операций — меньше опечаток, проще передать коллеге.

Три фундаментальных момента

  • Командная строка даёт прямой контроль над системой и воспроизводимые сценарии.
  • Автоматизация через CLI экономит время на рутине и в продакшене.
  • Точные формулировки (пути, кавычки, код возврата) предотвращают ошибки, которые в GUI иногда заметны позже.

Терминал — ещё и культура работы — последовательность действий, внимание к выводу и логам, привычка читать справку (man, Get-Help) перед экспериментом на боевой машине.


Смежные темы (не ядро раздела "Терминал")

Разметка дисков (MBR/GPT), разделы /boot, /home, swap, настройка DNS и DHCP при установке ОС относятся к разделам про операционные системы и инсталляцию, а не к ежедневным командам в shell. Если вы ставите Linux с нуля — смотрите материалы раздела Операционная система.

Проверьте себя по чек-листу.


Куда идти дальше

ТемаРаздел
"Исполняемые файлы и архивы — о разделе""Исполняемые файлы и архивы — о разделе"
"Основы информационной безопасности — о разделе""Основы информационной безопасности — о разделе"
"Программа — о разделе""Программа — о разделе"
"Основы интеграционного взаимодействия — о разделе""Основы интеграционного взаимодействия — о разделе"

Проверьте себя: Чек-лист самопроверки.