==== Командные оболочки ==== Командная оболочка (shell) - командный интерпретатор, обеспечивающий взаимодействие между пользователем и операционной системой. Также шелл является своеобразным языком программирования, в котором могут использоваться такие конструкции как - операторы ветвления, переменные, циклы и т.д.\\ Команды, используемые в оболочке делятся на 2 типа: - внутренние - те, которые изначально встроены в оболочку - внешние - команды, которые являются небольшими программами (скриптами) Командные оболочки есть в любой ОС. \\ Наиболее часто используемые в Windows - cmd.exe, Powershell, в Linux- bash, sh.\\ === cmd === cmd - была первой оболочкой, встроенной в Windows для автоматизации стандартных задач, таких как - управление учетными записями пользователей, резервное копирование и т.д. С помощью сервера сценариев Windows можно выполнять более сложные сценарии в командной оболочке ([[https://docs.microsoft.com/ru-ru/windows-server/administration/windows-commands/cscript |cscript]] или [[https://docs.microsoft.com/ru-ru/windows-server/administration/windows-commands/wscript|Wscript]]). С помощью скриптов можно более эффективно выполнять операции, чем с помощью пользовательского интерфейса. Скрипты принимают все команды, доступные в командной строке. === Powershell === Powershell - это современная командная оболочка, в которой реализованы лучшие возможности других популярных оболочек. В отличие от большинства оболочек, которые только принимают и возвращают текст, PowerShell принимает и возвращает объекты .NET. Это решение предлагает следующие возможности: * надежный журнал командной строки; * заполнение нажатием клавиши TAB и подстановка команд; * поддержка псевдонимов команд и параметров; * создание конвейера для объединения команд; * система справки в консоли, похожая на страницы man в Unix. В качестве скриптового языка PowerShell обычно используется для автоматизации процессов управления системами. Начиная с Windows server 2016 появилась редакция core (без графической оболочки), таким образом с помощью PowerShell возможно осуществлять полностью настройку и управление сервером (хотя MS оставили возможности для управления с помощью графического интерфейса, например, с помощью Admin Center). === sh === sh (Bourne **sh**ell) - одна из самых старых командных оболочек Unix. Эта оболочка доступна практически в любом Линукс дистрибутиве. Благодаря своей скорости работы и компактности, данная оболочка является предпочтительным средством для написания shell-скриптов. К её недостаткам можно отнести отсутствие функций для использования оболочки в интерактивном режиме, а также отсутствие встроенной обработки арифметических и логических выражений. Полный путь к интерпретатору ''/bin/sh'' и ''/sbin/sh'' === bash === bash (**B**ourne–**A**gain **sh**ell) - это усовершенствованный и дополненный вариант шелла sh, является одной из самых популярных современных командных оболочек *nix-систем. Эта оболочка совместима с sh, поддерживает навигацию с помощью стрелок. Полный путь к интерпретатору - ''/bin/bash''