Терминал в Windows 11 — это больше не стыдно. 15 полезных и популярных команд, которые мы оценили
Ещё недавно работа в терминале на Windows вызывала у разработчиков скепсис: cmd.exe была неудобной, а для нормального окружения приходилось ставить сторонние эмуляторы. Из-за этого многие привыкли использовать терминал по минимуму. Но с выходом Windows 11 ситуация изменилась. Новый Terminal больше не стыдно открыть рядом с IDE. В этой статье мы собрали подборку из 15 команд, которые автоматизируют рутину и покажут, что работа в терминале может быть комфортной.
591 открытий3К показов
Зачем вообще нужен терминал?
Конечно, у нас есть прекрасная IDE, там много кнопок, интуитивно понятный интерфейс, не надо заучивать команды, но в некоторых случаях это не самое удобное решение.
Во-первых, не все инструменты разработки поддерживают графический интерфейс. Сделать копию проекта через git или установить библиотеку для python через pip без терминала будет проблематично.
Во-вторых, через терминал проще закрывать регулярно повторяющиеся задачи. Допустим, в конце дня вы всегда делаете одно и то же: собираете проект, очищаете временные файлы и складываете результат в общую папку для тестировщиков. Вам нужно открыть IDE, собрать проект, открыть проводник, найти папку build, удалить старые файлы, создать новый ZIP-архив, переименовать его и перетащить в \\share\releases.
В терминале эти шаги можно оформить в простой скрипт, например Build-And-Archive.ps1, где по порядку будут автоматизированы все шаги: очистка старой сборки, новая сборка, упаковка в ZIP и копирование в нужную папку. Дальше вся процедура сводится к одной команде:.\Build-And-Archive.ps1.
Скрипт каждый раз делает одно и то же, не забывает шаги и не меняет порядок действий, а вы освобождаете себе время и голову от механической работы.
Терминал Windows 11, консоль и PowerShell, чем они отличаются
Прежде чем перейти к командам для терминала, стоит разобраться, что это такое, чем он отличается от консоли и PowerShell.
Консоль — это старая командная строка (cmd.exe) из прошлых версий Windows. В ней работают классические команды вроде dir и copy. То самое чёрное окно, которое многие помнят по Windows 7 и 10.
Windows Terminal — это новое окно с вкладками и настройками. Сам по себе терминал команд не выполняет. Он просто открывает внутри себя нужную оболочку: PowerShell, cmd или WSL и показывает их вывод.
PowerShell — современная командная оболочка и язык скриптов от Microsoft. Именно PowerShell запускается по умолчанию в терминале.
Как изменился терминал c выходом Windows 11
С момента выхода Windows 11 у системы поменялся терминал. Раньше это было обычное чёрное окно conhost.exe, которое запускало оболочку cmd.exe. В 11-й версии ОС добавили Windows Terminal в качестве утилиты по умолчанию. Раньше его надо было скачивать отдельно. Терминал стал дефолтным хостом для всех консольных приложений. По умолчанию в нём теперь запускается PowerShell. Там же можно настроить запуск WSL.
Интерфейс в сравнении со старым дефолтным терминалом тоже изменился, теперь здесь есть вкладки, между ними можно переключаться как в браузере, есть функция разделения вкладок.
Ещё Microsoft добавила больше возможностей для кастомизации, например, поддержку цветовых тем, возможность установки фоновых изображений, настройки с графическим интерфейсом.
В итоге за последние годы терминал Windows сильно изменился и приблизился в плане удобства к аналогам на Mac OS и Linux.
Какие команды для PowerShell упростят разработку
Когда мы говорим о запуске команд в терминале Windows 11, важно понимать, что большинство рассмотренных ниже команд — это алиасы.
Изначально в PowerShell было много длинных команд, писать которые неудобно, например: Test-NetConnection. Поэтому Microsoft ввела алиасы — сокращения. К примеру, чтобы вызвать команду Test-NetConnection, мы можем просто ввести в терминале алиас tnc. Такой подход экономит время и упрощает работу.
Работа с папками, файлами и текстом
cd (Set-Location) — отвечает за перемещение между папками. Например, cd C:\Projects переведёт вас в папку с проектами. При помощи команды cd .. можно подняться на уровень выше, а если написать часть имени папки/файла и нажать Tab, то команда допишет это имя.
cd это удобно, когда мы регулярно используем один и тот же путь или глубокие пути. Например:
C:\Users\Vladislav\Documents\Projects\Tproger\powershell-article\examples\logs
Это длинный путь, нам придётся проделать много кликов в проводнике, чтобы пройти по нему. Но при помощи cd и Tab терминал сам допишет название путей по первым знакам.
Ещё это удобно, когда вы уже работаете в терминале и не хотите открывать проводник, либо если нужно получить доступ к служебной папке, например, AppData, которая в проводнике Windows по умолчанию не отображается.
ls (Get-ChildItem) — команда для просмотра содержимого папки. Она показывает папки и файлы, расположенные по указанному пути.
С её помощью можно фильтровать содержимое по маске при помощи синтаксиса: *.ИМЯ ФОРМАТА. Например:
Здесь при помощи ls *.json мы отфильтровали содержимое папки и оставили только файлы формата json.
Ещё ls умеет показывать скрытое содержимое при помощи параметра -Force:
Напротив скрытых параметров выводится атрибут h.
Команда ls удобна, когда надо быстро проверить, создался ли лог после запуска скрипта, появилась ли новая сборка или если надо увидеть скрытые файлы, не тратя время на манипуляции мышью.
mkdir (New-Item) — создаёт новые папки.
Простой пример: mkdir logs сделает папку logs в текущей директории, а mkdir src\components — подпапку внутри src (если src уже есть).
Это быстрее, чем кликать правой кнопкой в проводнике и выбирать «Создать папку». Вы можете сразу накидать структуру проекта одной командой:
Результат:
Здесь мы перешли в папку FlutterReader, создали внутри неё папки: src, tests, doc и внутри src создали папку component при помощи одной команды.
sls (Select-String) ищет текст внутри файлов и вывода команд. Например, sls “ERROR” .\logs\app.log покажет строки, где в логе есть ERROR. Так вы быстрее найдёте нужную ошибку, не пролистывая весь файл в редакторе.
Можно искать сразу по нескольким файлам:
sls “TODO” -Path .\src*.cs
В этом примере мы ищем строку TODO в папке src во всех C# файлах.
gc -Wait (Get-Content) — показывает содержимое файла и вылавливает новые строки в реальном времени.
Без параметра -Wait команда просто выводит файл и завершается. С -Wait она остаётся запущенной и допечатывает всё, что дописывается в файл.
Например, gc -Wait log.txt покажет записи файла log.txt:
Эту команду удобно использовать во время разработки: запустили сервер, открыли лог в терминале и сразу видите новые ошибки и запросы, не обновляя окно и не открывая файл в редакторе каждый раз.
ii (Invoke-Item) — команда, которая имитирует двойной клик мышью и запускает действие по умолчанию. Если мы выберем папку, то откроем её в проводнике, если выберем exe файл, то запустим приложение и так далее.
Например, ii .\app.log — запустит файл лога в приложении по умолчанию (обычно блокнот или редактор кода).
Это удобно, когда вы уже что-то делали в терминале: запустили сборку, посмотрели содержимое папки, а потом хотите быстро открыть результат или лог в графическом приложении. Вместо того чтобы заново искать путь в проводнике, вы вызываете ii прямо из той же директории и продолжаете работать.
Сеть и диагностика
tnc (Test-NetConnection). Если вы уже пользовались PowerShell для диагностики сети, то, возможно, знаете команду ping, которая проверяет связь соединения. Она отправляет ICMP-пакеты на хост и получает его IP адрес, скорость передачи пакетов, процент их потери.
tnc работает похожим образом, но даёт чуть больше данных. Команда показывает информацию о пакетах, IP, интерфейсе.
При помощи параметра -Port вы можете проверить работу конкретного порта, например:
tnc ya.ru -Port 443
Это удобно, когда ничего не работает: сайт не открывается, dev-сервер не отвечает — вы быстро понимаете, проблема в сети, DNS, порте или уже где-то в приложении.
gip (Get-NetIPConfiguration) — аналог команды ipconfig. gip покажет ваши сетевые адаптеры, их IP-адреса, шлюзы и DNS-серверы.
Это полезно, когда пропал интернет и нужно понять, в чём дело. Например, есть ли вообще IP от роутера, не получил ли адаптер странный адрес, какой сейчас используется DNS. Вместо того чтобы кликать по настройкам сети, вы один раз запускаете gip в терминале и сразу видите картину целиком.
irm (Invoke-RestMethod) ходит по HTTP-адресу и возвращает ответ как объект PowerShell.
Например, irm https://api.github.com вернёт JSON уже разобранным на поля, а не просто сырой текст.
Это удобно, когда нужно быстро проверить работу API без Postman и браузера: отправили запрос, посмотрели нужные свойства через Select-Object или Where-Object и при желании тут же передали результат дальше.
Процессы и сервисы
gps (Get-Process) показывает запущенные процессы в системе. Простой gps выведет список всего, что сейчас работает:
Если написать gps и имя процесса, то команда выведет все процессы, связанные с этим именем. Например, если вы хотите увидеть все процессы Chrome, то можно написать такую команду: gps chrome
Она покажет все процессы Chrome. Завершить их можно командой spps -Name chrome (или имя процесса любого другого приложения).
Вам не надо открывать диспетчер задач: вы остаётесь в терминале и быстро находите и останавливаете нужный процесс по имени.
gsv (Get-Service) показывает службы Windows и их состояние. Простой gsv выведет список всех служб, а gsv с именем службы — только те, что связаны с этим именем:
gsv часто используют в связке с командой Restart-Service. Она позволяет перезапустить зависший сервис из терминала. Например: Restart-Service com.docker.service.
Настройка окружения
winget — менеджер пакетов для Windows. С его помощью можно ставить и обновлять программы прямо из терминала. Например:
Так вы быстрее поднимаете окружение на новом ПК: один раз запускаете набор команд или скрипт и получаете git, редактор, браузер, архиватор и всё остальное без походов по сайтам и мастерам установки.
wsl (Windows Subsystem for Linux) позволяет запускать Linux внутри Windows. Команда wsl –install ставит подсистему и дистрибутив (обычно Ubuntu), после чего у вас появляется полноценный Linux-терминал рядом с PowerShell. Это удобно, если вы разрабатываете под Linux, запускаете bash-скрипты, используете привычные утилиты вроде grep и make, но при этом остаётесь на Windows.
Другие полезные команды
Get-Help — встроенная справка по командам PowerShell. Например, Get-Help sls покажет, что делает команда, какие у неё есть параметры и как ей пользоваться.
Если при выводе информация не полная и есть надпись: «не удалось найти файлы справки», можно воспользоваться командой Update-Help. Она скачает справки для всех команд, и вывод будет полным:
Важный нюанс, Update-Help стоит запускать только из терминала с правами администратора.
h (Get-History) показывает историю команд в текущей сессии. Просто введите h, и вы увидите список последних команд. Это удобно, когда нужно повторить длинную команду, но не хочется снова её набирать.
Можно комбинировать h с поиском:
Так, вы быстро найдёте, как именно ставили пакет или запускали скрипт.
iex (Invoke-Expression) берёт строку и выполняет её как PowerShell-код. Например:
Вместо вывода строки Get-Process chrome терминал воспринимает её как команду и выполняет.
Важно: iex опасен, если вы подаёте в него текст из интернета. Конструкции вроде: irm https://пример-сайта/script.ps1 | iex могут выполнить что угодно, в том числе вредоносный код. В обычной работе разработчика iex почти не нужен: безопаснее либо запускать скрипты из файлов, либо писать команду явно.
Как комбинировать команды
В PowerShell команды полезны не поодиночке, а в связке. Их можно «склеивать» через символ | (пайп). Первая команда отдаёт результат, вторая его принимает и что-то с ним делает.
Например, вы смотрите лог и хотите сразу вылавливать ошибки:
gc следит за файлом, sls пропускает только строки с ERROR. Лог не надо листать вручную — новые ошибки сами прилетают в терминал.
Другой пример:
gps находит процессы Node.js, Stop-Process аккуратно их завершает. То же самое можно сделать с любым другим именем процесса.
Эту последовательность команд можно превратить в скрипт. Для этого подойдёт любой текстовый редактор, который может сохранить текст без умного форматирования, например блокнот.
В файл записываем нашу команду, например: Get-Content -Wait .\logs\app.log | Select-String “ERROR”. Далее сохраняем файл, выбираем тип «формат файлы» и следим, чтобы имя оканчивалось на .ps1, например: Watch-Errors.ps1.
Чтобы выполнить скрипт, переходим в терминале в папку, где он лежит и запускаем командой:
Так, вы собираете цепочки под свои задачи и постепенно превращаете набор команд в удобный рабочий инструмент.
А у вас есть любимые команды из терминала Windows 11?
Да, напишу в комментариях
Нет, Linux топ
Сижу на Mac
Я камюшек
591 открытий3К показов



















