что такое командная оболочка операционной системы

Командный процессор

Оболочка операционной системы (от англ. shell — оболочка) — интерпретатор команд операционной системы (ОС), обеспечивающий интерфейс для взаимодействия пользователя с функциями системы.

В общем случае, различают оболочки с двумя типами интерфейса для взаимодействия с пользователем: интерфейс командной строки (CLI) и графический пользовательский интерфейс (GUI).

Содержание

Командный интерпретатор

Для обеспечения интерфейса командной строки в ОС часто используются командные интерпретаторы, которые могут представлять собой самостоятельные языки программирования, с собственным синтаксисом и отличительными функциональными возможностями.

В операционные системы Windows 9x включён командный интерпретатор command.com, в Windows NT включён командных оболочек UNIX популярны csh, ksh и другие.

Как правило, при низкоуровневой настройке ОС у пользователя есть возможность менять командный интерпретатор, используемый по умолчанию.

Функции

Командный интерпретатор исполняет команды своего языка, заданные в командной строке или поступающие из стандартного ввода или указанного файла.

В качестве команд интерпретируются вызовы системных или прикладных утилит, а также управляющие конструкции. Кроме того, оболочка отвечает за раскрытие шаблонов имен файлов и за перенаправление и связывание ввода-вывода утилит.

В совокупности с набором утилит, оболочка представляет собой операционную среду, полноценный язык программирования и мощное средство решения как системных, так и некоторых прикладных задач, в особенности, автоматизации часто выполняемых последовательностей команд.

Стандартный командный интерпретатор

Стандартом ISO/IEC 9945 (Том 3. Оболочка и утилиты) определен язык оболочки, включающий конструкции последовательного (перевод строки, точка с запятой), условного («if», «case», «||», «&&») и циклического («for», «for in», «while», «until») исполнения команд, а также оператор присваивания.

Стандартом также определен режим редактирования вводимых команд, являющийся подмножеством команд стандартного текстового редактора («vi»).

Реализации и доступность

В современных открытых Unix-подобных ОС наиболее распространены такие языки командных интерпретаторов как zsh, реализующие надмножества языка стандартной оболочки.

Для альтернативных ОС также доступны реализации этих оболочек.

Альтернативы

Наряду со стандартными, в открытых ОС применяются также альтернативные оболочки tcsh, отличающиеся синтаксисом управляющих конструкций и поведением переменных.

Некоторые альтернативные ОС поставляются с интерпретаторами собственных языков командных файлов (такими, как язык командных файлов ОС Microsoft Windows NT, язык OS/2 и т. п.)

Некоторые предпочитают пользоваться для автоматизации часто выполняемых последовательностей команд новыми интерпретируемыми языками, например, Python.

Графическая оболочка

Графические оболочки для OC Windows

Последние версии ОС Windows используют в качестве своей оболочки интегрированную среду Проводника Windows. Проводник Windows представляет собой визуальную среду управления включающую в себя Рабочий стол, Меню пуск, Панель задач, а также функции управления файлами. Ранние версии ОС Windows 3.xx в качестве графической оболочки включают менеджер программ.

Многие сторонние разработчики предлагают альтернативные среды, которые могут быть использованы вместо оболочки проводника, включенной по умолчанию компанией Microsoft в систему Windows.

См. также

Полезное

Смотреть что такое «Командный процессор» в других словарях:

командный процессор — Часть операционной системы, обрабатывающая команды, вводимые пользователем из командного файла, и запускающая задачи для их выполнения. [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993] Тематики… … Справочник технического переводчика

командный процессор (ОС типа UNIX) — Один из наиболее развитых командных языков. [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993] Тематики информационные технологии в целом EN shell … Справочник технического переводчика

в MS DOS обозначается дополнительный командный процессор — — [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993] Тематики информационные технологии в целом EN command … Справочник технического переводчика

Процессор (значения) — Список значений слова или словосочетания со ссылками на соответствующие статьи. Если вы попали сюда из … Википедия

Цифровой сигнальный процессор — (англ. Digital signal processor, DSP; сигнальный микропроцессор, СМП; процессор цифровых сигналов, ПЦС) специализированный микропроцессор, предназначенный для цифровой обработки сигналов (обычно в реальном масштабе времени) … Википедия

MS-DOS — MS DOS … Википедия

Программы UNIX-подобных операционных систем — Это список популярных программ, работающих в операционных системах основанных на UNIX (POSIX совместимых). Некоторые из этих программ являются стандартными для UNIX подобных систем. Содержание 1 Системный софт 1.1 Общего назначения … Википедия

bash — У этого термина существуют и другие значения, см. Bash (значения). GNU Bourne Again SHell Типичная сессия в bash … Википедия

КП — командный процессор Словарь: С. Фадеев. Словарь сокращений современного русского языка. С. Пб.: Политехника, 1997. 527 с. КП колёсная пара КП командир пулемёта воен. Словарь: Словарь сокращений и аббревиатур армии и спецслужб. Сост. А. А. Щелоков … Словарь сокращений и аббревиатур

Операционная система — У этого термина существуют и другие значения, см. Операционная система (значения). Запрос «OS» перенаправляется сюда; см. также другие значения. Операционная система, сокр. ОС (англ. operating system, OS) комплекс управляющих и… … Википедия

Источник

Интерфейс командной строки

что такое командная оболочка операционной системы. Смотреть фото что такое командная оболочка операционной системы. Смотреть картинку что такое командная оболочка операционной системы. Картинка про что такое командная оболочка операционной системы. Фото что такое командная оболочка операционной системы

что такое командная оболочка операционной системы. Смотреть фото что такое командная оболочка операционной системы. Смотреть картинку что такое командная оболочка операционной системы. Картинка про что такое командная оболочка операционной системы. Фото что такое командная оболочка операционной системы

Интерфейс командной строки противопоставляется системам управления программой на основе меню, а также различным реализациям графического интерфейса.

Формат вывода информации в интерфейсе командной строки не регламентируется; обычно это также простой текстовый вывод, но может быть и графическим, звуковым и т. д.

Содержание

Назначение

На устройстве-консоли, которое печатало текст на бумаге, интерфейс командной строки был единственным возможным. На видеотерминалах интерфейс командной строки применяется по таким причинам:

Если программа полностью или почти полностью может управляться командами интерфейса командной строки и поддерживает пакетный интерфейс, умелое сочетание интерфейса командной строки с графическим предоставляет пользователю очень мощные возможности.

Формат команды

Наиболее общий формат команд (в квадратные скобки помещены необязательные части):

[символ_начала_команды]имя_команды [параметр_1 [параметр_2 […]]]

Символ начала команды может быть самым разным, однако чаще всего для этой цели используется косая черта ( / ). Если строка вводится без этого символа, выполняется некоторая базовая команда: например, строка «Привет» в IRC эквивалентна вводу « /msg Привет ». Если же такой базовой команды нет, символ начала команды отсутствует вообще (как, например, в DOS).

Параметры команд могут иметь самый разный формат. В основном применяются следующие правила:

Например, в некоей абстрактной игре может быть такая команда:

Применение

Основные сферы применения интерфейса командной строки:

В операционных системах

Основное применение интерфейса командной строки — интерфейс операционной системы. В Windows язык командной строки не имеет чёткой стандартизации, однако существует стандарт командной строки POSIX и его модификация в рамках GNU.

В компьютерных играх

Изначально консоль в играх использовалась для отладки.

что такое командная оболочка операционной системы. Смотреть фото что такое командная оболочка операционной системы. Смотреть картинку что такое командная оболочка операционной системы. Картинка про что такое командная оболочка операционной системы. Фото что такое командная оболочка операционной системы

что такое командная оболочка операционной системы. Смотреть фото что такое командная оболочка операционной системы. Смотреть картинку что такое командная оболочка операционной системы. Картинка про что такое командная оболочка операционной системы. Фото что такое командная оболочка операционной системы

Как только появился интерфейс командной строки, стали появляться и игры, его использующие, особенно актуально это было на тех платформах, где более сложные интерфейсы (графические) было невозможно реализовать вследствие аппаратных ограничений.

Наиболее ярким примером игр, использующих интерфейс командной строки, могут быть названы текстовые квесты, а также сетевые многопользовательские ролевые игры — MUD. Команды в таких играх вводятся на так называемом псевдоестественном языке.

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

(тильда); реже ↵ Enter ‘. Консоль позволяет вносить изменения в настройки игры оперативнее, чем меню — например, набрать name Terminator быстрее, чем найти то меню, в котором вводится имя игрока, и ввести Terminator.

Интерфейс, который предоставляется моддерам, не всегда позволяет менять меню; но он всегда позволяет добавлять свои консольные команды. Например, в DotA (карте для игры Warcraft III) режим игры задаёт участник, играющий синими, через консоль.

Источник

Как определить и изменить командную оболочку (shell) в Linux

что такое командная оболочка операционной системы. Смотреть фото что такое командная оболочка операционной системы. Смотреть картинку что такое командная оболочка операционной системы. Картинка про что такое командная оболочка операционной системы. Фото что такое командная оболочка операционной системы

Что такое командная оболочка

Командная оболочка или командный интерпретатор в Linux — это программа, которая в текстовой среде выступает в качестве интерфейса между пользователем и операционной системой. Она интерпретирует вводимые команды с терминала и вызывает необходимые программы.

Когда вы работаете в терминале, именно командная оболочка обрабатывает вводимые вами команды. Более того, оболочки Linux поддерживают написание программ на языке оболочки.

Оболочки Linux

Одна из самых популярных командных оболочек — это оболочка Bash (Bourne Again Shell). Она используется по умолчанию в большинстве дистрибутивов Linux.

Существуют разные оболочки Linux. Можно отметить:

Оболочки могут очень сильно отличаться друг от друга. Они отличаются функциональностью, синтаксисом команд, строкой приветствия, дружелюбностью к пользователю и другими параметрами и возможностями.

Как определить текущую командую оболочку

Есть несколько способов определить оболочку, используемую по умолчанию в вашей системе Linux. Рассмотрим несколько из них, так как в разных системах (и оболочках) какие-то способы могут не сработать.

Также нужно знать, что у разных пользователей системы могут использоваться разные оболочки.

Способ 1

Переменная окружения SHELL хранит путь до исполняемого файла оболочки. Выполним команду:

Из вывода команды, мы видим, что используется оболочка bash.

Способ 2

Способ 3

Определим, работающий процесс оболочки командой ps.

что такое командная оболочка операционной системы. Смотреть фото что такое командная оболочка операционной системы. Смотреть картинку что такое командная оболочка операционной системы. Картинка про что такое командная оболочка операционной системы. Фото что такое командная оболочка операционной системы

Как посмотреть список оболочек, доступных в системе

Список оболочек, которые в данный момент установлены и доступны в системе Linux, хранится в файле /etc/shells

что такое командная оболочка операционной системы. Смотреть фото что такое командная оболочка операционной системы. Смотреть картинку что такое командная оболочка операционной системы. Картинка про что такое командная оболочка операционной системы. Фото что такое командная оболочка операционной системы

Как временно переключиться на другую оболочку

Чтобы временно переключиться на другую оболочку, достаточно выполнить в терминале команду, соответствующую ее имени. После этого вы переключитесь на новую оболочку.

Например, переключимся на оболочку sh. Выполняем команду:

что такое командная оболочка операционной системы. Смотреть фото что такое командная оболочка операционной системы. Смотреть картинку что такое командная оболочка операционной системы. Картинка про что такое командная оболочка операционной системы. Фото что такое командная оболочка операционной системы

Как изменить оболочку

Для изменения командной оболочки на постоянной основе служит команда chsh (от слов change shell).

Чтобы изменить оболочку текущего пользователя нужно выполнить команду:

В качестве параметра путь_новой_оболочки необходимо указать путь до исполняемого файла оболочки, который вы можете найти в файле /etc/shells (см. выше).

Например, изменим оболочку на sh. Для этого выполняем команду (при выполнении команды нужно будет ввести пароль):

После этого нужно выйти и снова войти в систему.

Чтобы изменить оболочку, используемую по умолчанию, для другого пользователя, то команде chsh необходимо указать имя этого пользователя:

Заключение

Мы рассмотрели, как определить текущую оболочку Linux, как просмотреть список доступных оболочек, а также как изменить оболочку, используемую по умолчанию.

Чтобы получить информацию о какой-либо оболочке (доступной в системе) можно воспользоваться Man-страницами. Например:

Дополнительные оболочки можно устанавливать средствами системы (из репозиториев). Например, для установки оболочки fish в Ubuntu Linux, выполните команду

Источник

Общие сведения о командной оболочке

Командная оболочка это отдельный программный продукт, который обеспечивает прямую связь между пользователем и операционной системой. Текстовый пользовательский интерфейс командной строки предоставляет среду, в которой выполняются приложения и служебные программы с текстовым интерфейсом. В командной оболочке программы выполняются и результат выполнения отображается на экране в виде, сходном с интерпретатором Command.com MS-DOS.

Использование нескольких команд и символов условной обработки

Можно выполнять несколько команд из одной командной строки или сценария с помощью сиволов условной обработки. При использовании нескольких команд, содержащих символы условной обработки, выполнение команд, стоящих справа от символа условной обработки, будет проводиться в зависимости от результатов выполнения команды, стоящей слева от символа. Например, требуется, чтобы команда выполнялась, только если предыдущая команда не была выполнена успешно. Или требуется, чтобы команда выполнялась, только если предыдущая команда была выполнена успешно.

Для передачи нескольких команд можно использовать специальные символы, перечисленные в следующей таблице.

СимволСинтаксисОпределение
& [. ]команда1 & команда2Используется для разделения нескольких команд в одной командной строке. В Cmd.exe выполняется первая команда, затем вторая команда.
&& [. ]команда1 && команда2Запускает команду, стоящую за символом &&, только если команда, стоящая перед этим символом была выполнена успешно. В Cmd.exe выполняется первая команда. Вторая команда выполняется, только если первая была выполнена успешно.
|| [. ]команда1 || команда2Запускает команду, стоящую за символом ||, только если команда, стоящая перед символом || не была выполнена. В Cmd.exe выполняется первая команда. Вторая команда выполняется, только если первая не была выполнена (полученный код ошибки превышает ноль).
( ) [. ](команда1 & команда2)Используется для группировки или вложения команд.
; или ,команда1 параметр1;параметр2Используется для разделения параметров команды.

Вложенные командные оболочки

Имеется возможность вкладывать командные оболочки в Cmd.exe, открывая новый экземпляр Cmd.exe из командной строки. По умолчанию каждый экземпляр Cmd.exe наследует среду своего родительского приложения Cmd.exe. Вложение экземпляров Cmd.exe позволяет вносить в локальную среду изменения, которые не повлияют на родительское приложение Cmd.exe. Это позволяет сохранять исходную среду Cmd.exe и возвращаться к ней после удаления вложенной командной оболочки. Изменения вложенной командной оболочки не сохраняются.

Чтобы создать вложенную командную оболочку, в командной строке введите:

Появится сообщение следующего вида:

Microsoft (R) Windows XP (TM)
(C) Copyright 1985-2001 Microsoft Corp.

Чтобы закрыть все вложенные командные оболочки, введите команду exit.

Можно еще уже локализовать изменения в экземпляре Cmd.exe (или в сценарии) с помощью команд setlocal и endlocal. Команда setlocal создает локальную область, а endlocal ее удаляет. Любые изменения, сделанные внутри области, созданной командами setlocal и endlocal, не учитываются; таким образом исходная среда остается без изменений. С помощью этих команд можно создать до 32 вложенных областей.

Использование переменных среды в Cmd.exe

Среда командной оболочки Cmd.exe определяется переменными, задающими поведение командной оболочки и операционной системы. Имеется возможность определить поведение среды командной оболочки или среды всей операционной системы с помощью двух типов переменных среды: системных и локальных. Системные переменные среды определяют поведение глобальной среды операционной системы. Локальные переменные среды определяют поведение среды в данном экземпляре Cmd.exe.

Системные переменные среды заданы заранее в операционной системе и доступны для всех процессов Windows XP. Только пользователи с привилегиями администратора могут изменять эти переменные. Эти переменные наиболее часто используются в сценариях входа в систему.

Локальные переменные среды доступны, только когда пользователь, для которого они были созданы, вошел в систему. Локальные переменные из куста HKEY_CURRENT_USER подходят только для текущего пользователя, но определяют поведение глобальной среды операционной системы.

В следующем списке представлены различные типы переменных в порядке убывания приоритета.

В командной оболочке каждый экземпляр Cmd.exe наследует среду своего родительского приложения. Поэтому можно изменять переменные в новой среде Cmd.exe, что не повлияет на среду родительского приложения.

В следующей таблице приведен список системных и локальных переменных.

ПеременнаяТипОписание
%ALLUSERSPROFILE%ЛокальнаяВозвращает размещение профиля «All Users».
%APPDATA%ЛокальнаяВозвращает используемое по умолчанию размещение данных приложений.
%CD%ЛокальнаяВозвращает путь к текущей папке.
%CMDCMDLINE%ЛокальнаяВозвращает строку команд, с помощью которой был запущен данный экземпляр Cmd.exe.
%CMDEXTVERSION%СистемнаяВозвращает номер версии текущих расширений обработчика команд.
%COMPUTERNAME%СистемнаяВозвращает имя компьютера.
%COMSPEC%СистемнаяВозвращает путь к исполняемой командной оболочке.
%DATE%СистемнаяВозвращает текущие данные. Использует тот же формат, что и команда date /t. Создается командой Cmd.exe.
%ERRORLEVEL%СистемнаяВозвращает код ошибки последней использовавшейся команды. Значение, не равное нуля, обычно указывает на наличие ошибки.
%HOMEDRIVE%СистемнаяВозвращает имя диска локальной рабочей станции, связанного с основным каталогом пользователя. Задается на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы».
%HOMEPATH%СистемнаяВозвращает полный путь к основному каталогу пользователя. Задается на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы».
%HOMESHARE%СистемнаяВозвращает сетевой путь к общему основному каталогу пользователя. Задается на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы».
%LOGONSEVER%ЛокальнаяВозвращает имя контроллера домена, который проверял подлинность текущей сессии.
%NUMBER_OF_PROCESSORS%СистемнаяЗадает количество процессоров, установленных на компьютере.
%OS%СистемнаяВозвращает имя операционной системы. При использовании Windows 2000 имя операционной системы отображается как Windows_NT.
%PATH%СистемнаяУказывает путь поиска для исполняемых файлов.
%PATHEXT%СистемнаяВозвращает список расширений файлов, которые рассматриваются операционной системой как исполняемые.
%PROCESSOR_ARCHITECTURE%СистемнаяВозвращает архитектуру процессора. Значения: x86, IA64.
%PROCESSOR_IDENTFIER%СистемнаяВозвращает описание процессора.
%PROCESSOR_LEVEL%СистемнаяВозвращает номер модели процессора, установленного на компьютере.
%PROCESSOR_REVISION%СистемнаяВозвращает номер модификации процессора.
%PROMPT%ЛокальнаяВозвращает параметры командной строки для текущего интерпретатора. Создается командой Cmd.exe.
%RANDOM%СистемнаяВозвращает произвольное десятичное число от 0 до 32767. Создается командой Cmd.exe.
%SYSTEMDRIVE%СистемнаяВозвращает имя диска, содержащего корневой каталог Windows (т. е. системный каталог).
%SYSTEMROOT%СистемнаяВозвращает размещение системного каталога Windows XP.
%TEMP% и %TMP%Системная и пользо-
вательская
Возвращает временные папки, по умолчанию используемые приложениями, которые доступны пользователям, выполнившим вход в систему. Некоторые приложения требуют переменную TEMP, другие переменную TMP.
%TIME%СистемнаяВозвращает текущее время. Использует тот же формат, что и команда time /t. Создается командой Cmd.exe.
%USERDOMAIN%ЛокальнаяВозвращает имя домена, содержащего список учетных записей пользователей.
%USERNAME%ЛокальнаяВозвращает имя пользователя, выполнившего вход в систему.
%USERPROFILE%ЛокальнаяВозвращает размещение профиля для текущего пользователя.
%WINDIR%СистемнаяВозвращает размещение каталога операционной системы.

Установка переменных среды

Используйте команду set для создания, удаления или отображения переменных среды. Команда set изменяет переменные только в среде текущей оболочки.

Чтобы отобразить переменную, в командной строке введите:

Чтобы добавить переменную, в командной строке введите:

Чтобы удалить переменную, в командной строке введите:

В именах переменных регистр символов не учитывается. Однако, команда set отображает значение переменной так, как оно было введено. Можно комбинировать символы нижнего и верхнего регистра в именах переменных, чтобы облегчить восприятие кода (например, ИмяПользователя).

Подстановка значений в переменные среды

Чтобы иметь возможность подставлять значения в переменную среды из командной строки или из сценариев, следует заключить имя соответствующей переменной в символы процентов (%имя_переменной%). Символы процентов указывают на то, что Cmd.exe должен обратиться к значениям переменных, а не делать посимвольное сравнение. После определения значения для имени переменной, заключите имя переменной в символы процентов. Cmd.exe проводит поиск всех вхождений имени переменной и заменяет его на определенное значение переменной. Например, требуется создать сценарий, содержащий различные значения (например, имена пользователей), и требуется определить соответствующее значение переменной среды USERNAME для каждого пользователя. Для этого следует написать сценарий с использованием переменной USERNAME, заключенной в кавычки. При выполнении сценария Cmd.exe заменит вхождения %USERNAME% соответствующими значениями, что избавит от необходимости делать это вручную для каждого пользователя. Подстановка значений не является рекурсивной. Cmd.exe проверяет переменные один раз. Дополнительные сведения о подстановке значений в переменные смотри в разделах For и Call.

Для вопросов, обсуждений, замечаний, предложений и т. п. можете использовать раздел форума этого сайта (требуется регистрация).

Новый раздел о средствах командной строки в рамках этого же проекта расположен здесь

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *