Командная оболочка (shell) - командный интерпретатор, обеспечивающий взаимодействие между пользователем и операционной системой. Также шелл является своеобразным языком программирования, в котором могут использоваться такие конструкции как - операторы ветвления, переменные, циклы и т.д.
Команды, используемые в оболочке делятся на 2 типа:
Командные оболочки есть в любой ОС.
Наиболее часто используемые в Windows - cmd.exe, Powershell, в Linux- bash, sh.
cmd - была первой оболочкой, встроенной в Windows для автоматизации стандартных задач, таких как - управление учетными записями пользователей, резервное копирование и т.д. С помощью сервера сценариев Windows можно выполнять более сложные сценарии в командной оболочке (cscript или Wscript). С помощью скриптов можно более эффективно выполнять операции, чем с помощью пользовательского интерфейса. Скрипты принимают все команды, доступные в командной строке.
Powershell - это современная командная оболочка, в которой реализованы лучшие возможности других популярных оболочек. В отличие от большинства оболочек, которые только принимают и возвращают текст, PowerShell принимает и возвращает объекты .NET. Это решение предлагает следующие возможности:
В качестве скриптового языка PowerShell обычно используется для автоматизации процессов управления системами. Начиная с Windows server 2016 появилась редакция core (без графической оболочки), таким образом с помощью PowerShell возможно осуществлять полностью настройку и управление сервером (хотя MS оставили возможности для управления с помощью графического интерфейса, например, с помощью Admin Center).
sh (Bourne shell) - одна из самых старых командных оболочек Unix. Эта оболочка доступна практически в любом Линукс дистрибутиве. Благодаря своей скорости работы и компактности, данная оболочка является предпочтительным средством для написания shell-скриптов. К её недостаткам можно отнести отсутствие функций для использования оболочки в интерактивном режиме, а также отсутствие встроенной обработки арифметических и логических выражений. Полный путь к интерпретатору /bin/sh
и /sbin/sh
bash (Bourne–Again shell) - это усовершенствованный и дополненный вариант шелла sh, является одной из самых популярных современных командных оболочек *nix-систем. Эта оболочка совместима с sh, поддерживает навигацию с помощью стрелок. Полный путь к интерпретатору - /bin/bash