Вы открываете «терминал», набираете
ls — и кажется, что всё делает одна программа. На самом деле их две, и путаница между ними мешает понять половину советов из интернета.📕 Терминал — это окно
Изначально терминал был железкой: экран и клавиатура, подключённые проводом к большому компьютеру. Сегодня это программа-эмулятор (iTerm, Windows Terminal, Gnome Terminal), которая только принимает нажатия клавиш и рисует текст на экране.
🤖 Оболочка — это мозг
Оболочка (shell) — программа, которая читает вашу команду, разбирает её и просит операционную систему запустить нужный процесс. Bash, Zsh, Fish — это всё оболочки, и они разные: команда, работающая в bash, может не завестись в fish.⏳ Аналогия
Терминал — как браузер, а оболочка — как сайт внутри него. Браузер рисует страницу, но логика живёт не в нём.
❓ Кто что делает при вводе команды
Пока вы печатаете, оболочка ничего не знает — символы обрабатывает терминал. И только после Enter строка уходит в оболочку, которая решает, что с ней делать: выполнить встроенную команду вроде
cd самой или запустить отдельную программу через ОС.‼️ Пайпы — это работа оболочки
Вертикальная черта склеивает процессы в цепочку: вывод одного сразу становится вводом другого, без временных файлов на диске.
cat log.txt | grep ERROR | wc -l
⚠️ Частая ошибка: менять настройки терминала, когда проблема в оболочке (или наоборот). Не подхватился алиас — смотрите конфиг оболочки (
.zshrc, .bashrc). Кривые цвета и эмодзи — это к терминалу.🚨 Подкаст о терминалах и оболочках от Podlodka
✏️ А в чём вы открываете командную строку?
❤️ — в том, что был в системе
🤩 — поставил свой: iTerm, Alacritty, Ghostty, WezTerm и т.д.
🌚 — только внутри VS Code
🔥 — вообще не открываю терминал
👾 — Другое (напишу в комментариях)
🏃♀️ Азбука айтишника
