Командная оболочка
Командная оболочка — это отдельный программный продукт, который обеспечивает прямую связь между пользователем и операционной системой. Текстовый пользовательский интерфейс командной строки предоставляет среду, в которой выполняются приложения и служебные программы с текстовым интерфейсом. В командной оболочке программы выполняются и результат выполнения отображается на экране в виде, сходном с интерпретатором Command.com MS-DOS. Командная оболочка Windows XP использует интерпретатор команд Cmd.exe, который загружает приложения и направляет поток данных между приложениями, для перевода введенной команды в понятный системе вид. Имеется возможность использовать командную оболочку для создания и редактирования пакетных файлов (также называемых сценариями), что позволит автоматизировать выполнение обычных задач. Например, можно использовать сценарии для автоматизации управления учетными записями пользователей и ежедневной архивацией в нерабочие часы. Также можно использовать сервер сценариев Windows, CScript.exe, для выполнения в командной оболочке сложных сценариев. Выполнение операций с помощью пакетных файлов является более эффективным, чем с помощью интерфейса пользователя. Пакетные файлы принимают все команды, доступные из командной строки. Дополнительные сведения о пакетных файлах и создании сценариев см. в разделе Использование пакетных файлов. Имеется возможность настроить окно командной строки для облегчения просмотра и для увеличения контроля за выполнением программ. Дополнительные сведения о настройке окна командной строки см. в разделе Настройка командной строки. [4]
Синтаксис команд
Синтаксическая структура выводится в том порядке, в котором следует вводить команду и следующие за ней параметры, если они есть. Следующий пример команды xcopy иллюстрирует разнообразие синтаксических форматов текста. xcopy источник [результат] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d[:мм-дд-гггг]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [] [/n] [/o] [/x] [/exclude:файл1[+[файл2]][+[файл3]] [] [/z] В следующей таблице показано, как следует интерпретировать различные текстовые форматы.
Курсив Данные, которые должен ввести пользователь
Полужирный шрифт Элементы, которые следует вводить точно, как показано
Пропуск (. ) Параметры могут повторяться несколько раз в командной строке
В квадратных скобках ([]) Необязательные элементы
В фигурных скобках (<>); варианты разделены вертикальной чертой (|). Пример: <четные|нечетные>Набор значений, из которого можно выбрать только одно значение
Шрифт Courier Текст кода или выхода программы
Использование нескольких команд и условные символы
Можно выполнять несколько команд из одной командной строки или сценария с помощью сиволов условной обработки. При использовании нескольких команд, содержащих символы условной обработки, выполнение команд, стоящих справа от символа условной обработки, будет проводиться в зависимости от результатов выполнения команды, стоящей слева от символа. Например, требуется, чтобы команда выполнялась, только если предыдущая команда не была выполнена успешно.[5] Или требуется, чтобы команда выполнялась, только если предыдущая команда была выполнена успешно. Для передачи нескольких команд можно использовать специальные символы, перечисленные в следующей таблице. Символ Синтаксис Определение
& [. ] команда1 & команда2 Используется для разделения нескольких команд в одной командной строке. В Cmd.exe выполняется первая команда, затем вторая команда.
&& [. ] команда1 && команда2 Запускает команду, стоящую за символом &&, только если команда, стоящая перед этим символом была выполнена успешно. В Cmd.exe выполняется первая команда. Вторая команда выполняется, только если первая была выполнена успешно.
|| [. ] команда1 || команда2 Запускает команду, стоящую за символом ||, только если команда, стоящая перед символом || не была выполнена. В Cmd.exe выполняется первая команда. Вторая команда выполняется, только если первая не была выполнена (полученный код ошибки превышает ноль).
( ) [. ] (команда1 & команда2) Используется для группировки или вложения команд.
; или , команда1 параметр1;параметр2 Используется для разделения параметров команды.
Амперсанд (&), вертикальная черта (|) и скобки ( ) являются специальными символами, которым должен предшествовать управляющий символ (^) или кавычки, если эти символы передаются в качестве аргументов.
Если команда завершает операцию успешно, возвращается нулевой (0) код ошибки или не возвращается никакого кода. Дополнительные сведения о кодах завершения см. в разделе Пакеты Microsoft Windows Resource Kits.
Практическая часть
Создайте у себя в папке текстовый документ для написания отчета по практикуму в командной оболочке. В этот отчет надо будет заносить результаты выполнения заданий (например, скриншот, список выходных параметров в виде текста или отметку о том, что команда не работает — это также может иметь место из-за разности версий оболочек).
Многие команды оболочки недоступны для пользователей НЕадминистраторов (каковыми являются все студенты в компьютерных классах). Этого не надо бояться — если бы все вы были администраторами на этих компьютерах, то они давно бы прекратили работать;)
Поэтому задания по таким недоступным командам НЕ приводятся, и вам ДОСТАТОЧНО ограничиться ВНИМАТЕЛЬНЫМ прочтением общих сведений, которые есть в ПОСОБИИ.
Для получении практического зачета по данной дисциплине необходимо разбираться в возможностях оболочки независимо от того, работали ли эти команды для пользователей с вашими правами или нет.
При выполнении следующих заданий можно использовать пособие по работе в оболочках CMD.HTML (см. в папке)
Примечание: предлагаемые команды исполняются не во всех ОС, в случае невозможности исполнения этот факт надо также отразить в отчете.
1. Запустите командную оболочку cmd: пуск — выполнить — cmd и приступайте к основной части практикума (задания 2-26).
2. Используйте команду Assoc и ответьте на вопросы (в своем отчете):
— расшифровать расширения xls, zap, tif, sxg
— какие расширения файлов использует система (представить весь список)?
zap отсутствует на этом компьютере.
tif = TIFImage document
Расширения файлов можно увидеть на рисунках 1-6.
Рисунок 1—Команда Assoc. Часть 1
Рисунок 2—Команда Assoc. Часть 2
Рисунок 3—Команда Assoc. Часть 3
Рисунок 4—Команда Assoc. Часть 4
Рисунок 5—Команда Assoc. Часть 5
Рисунок 6—Команда Assoc. Часть 6
3. Изучите информацию о команде Attribut. Ознакомьтесь с примером,
создайте на рабочем столе группу из 4 текстовых файлов, установите им атрибут «только чтение» при помощи групповой операции Attribut. Реализуйте все данные в тексте примеры на своем рабочем столе. Все ли действия из примеров выполняет ваша операционная оболочка?
Пример выполнения на рисунке 7.
Рисунок 7 —Команда attrib
4. Реализуйте на своем компьютере примеры использования команды Chdir (объекты можно подобрать на свое усмотрение). Составьте список команд или параметров, которые не реализуются вашей версией оболочки.
В заданиях нужно отмечать в отчете отказ оболочки выполнить команды (если такое происходит) или нестандартное (по сравнению с образцом из практикума) их выполнение вашей оболочкой, если такое имеет место. Пример выполнения на рисунке 8.
Рисунок 8 — Команда chdir
Все команды выполняются успешно.
5. Ознакомьтесь и используйте директиву очистки командной строки.
Команда cls выполнилась успешно. Весь текст (кроме текущего расположения и возможности набора команд) удален. Пример на рисунке 9.
Рисунок 9— Команда cls
6.Запустите команду cmd и color со всеми описанными параметрами. Неработающие варианты команд занесите в отчет. Все команды выполняются успешно, пример на рисунке 10. Но невозможно использовать один и тот же цвет фона и текста.
Рисунок 10 —Команда color
7. Научитесь оперировать командой Comp, которая позволяет быстро сравнивать файлы на дисках. Для этого создайте несколько наборов файлов, позволяющих протестировать в вашей оболочке свойства данной команды, описанные в Примечании к ней (надо создать пару файлов с одинаковыми именами, пару файлом разного размера и т.д., см. приложение). После сравнения отдельных файлов проведите сравнение каталогов, как это показано в примере к описанию команды.
При сравнении каталогов Comp ищет файлы с одинаковыми именами и сравнивает их. При отсутствии файла с тем же названием в одном из каталогов не происходит аварийного завершения, а лишь выводится сообщение об этом. Пример на рисунке 11.
Рисунок 11 — Команда comp
8. Команда Copy. Изучите синтаксис и реализуйте ее со всеми параметрами, данными в описании. Проведите через свою оболочку все примеры, прилагаемые к описанию данной команды. Все примеры успешно выполнились. Пример на рисунке 12.
Рисунок 12 — Команда comp
9. Country — используйте данную команду с перечисленными в документе параметрами. Пример использования на рисунке 13.
Рисунок 13— Команда Country
10. Date — в учебном классе вы не можете изменять системную дату, но можете ознакомится с декларативной работой этой команды оболочки. Пример использования на рисунке 14.
Рисунок 14— Команда Date
11. Ознакомьтесь с правилами использования команды Debug. Протестируйте команду на примере Debug: h (hexadecimal). Невозможно запустить debug на этой версии операционной системы.
12. Изучите и протестируйте команду Dir с перечисленными параметрами. Все команды выполнены успешно. Пример использования на рисунке 15.
Рисунок 15— Команда Dir
13. Echoconfig, Echo — запустить примеры использования команд. Пример использования на рисунке 16.
Рисунок 16—Команда echo
14. Запустите Edlin, с помощью Edit и Edlin создайте файл в формате ASCII (занесите в файл номер группы, курс, фамилии). Следуйте указаниям в методическом пособии. Выполнитеподкоманды, описанные в пособии. В командной строке данные команды не работают.
15. Используйте команду Exe2bin на примере. В cmd данная команда не работает
16. Сравните файлы из предыдущих примеров командой Fc. Пример использования на рисунке 17.
Рисунок 17— Команда fc
Команда fc выполняет сравнение двух файлов и вывод различий между ними
17. Используйте на примерах команды поиска по файлу Find. Поиск символа с помощью команды find. Пример использования на рисунке 18.
Рисунок 18— Команда find
18. Найдите имя своего хоста (Hostname). DESKTOP-EIHPQD9
19. Mem — команда справки о памяти (отчет о памяти внесите в свою работу). Пример использования на рисунке 19.
Рисунок 19— Команда mem
20. Используйте команду создания папок с параметрами и без них. Пример использования на рисунке 20.
Рисунки 20— Команда создания папок
21. Поменяйте местами файлы из созданных в предыдущем задании папок (Move). Пользуйтесь примерами. Пример использования на рисунке 21.
Рисунок 21— Команда Move
22. С помощью Perfmon откройте системный монитор производительности. Каков (приблизительно) средний процент загрузки процессора за обозреваемое время? Максимум, минимум? После выполнения команды открывается системный монитор. Пример использования на рисунке 22.
Рисунки 22— Команда perfmon
23. Команды редактирования директорий: Rename (ren), Replace, Rmdir (rd) — используйте их с параметрами на тестовых файлах в своей директории. Пример использования на рисунке 22-23.
Рисунки 22-23 — Команды ren, replace
24. Протестируйте команды вывода системного времени, заголовка окна, вывода дерева каталогов и отображения версии W. XP. Пример использования на рисунке 24.
Рисунок 24 — Команда date,tree,title
25. Распечатайте на экране свой текстовый файл при помощи спец. Команды. Пример использования на рисунке 25.
Командная строка — Основы командной строки
Для работы с командной строкой понадобятся две вещи: терминал и командная оболочка. В этом уроке вы узнаете, как они работают и чем отличаются друг от друга.
Терминал
Терминалом называют программу, которая эмулирует поведение железного терминала, состоящего из клавиатуры и монитора. В простейшем случае — это просто окошко с командной строкой внутри:
Хороший терминал все же не ограничивается одним окном, а позволяет открывать новые терминалы в табах — по такому же принципу, как работают вкладки в браузере.
Некоторые терминалы позволяют делать сплиты, то есть разделять окно на части. Этот довольно удобный механизм есть, например, в iterm2 :
Хорошие терминалы также умеют восстанавливать завершенную сессию, создавать профили под разные задачи и многое другое.
Командная оболочка
Командная оболочка — программа, через которую пользователь или администратор управляет операционной системой и установленными программами, используя командную строку. У этого понятия множество синонимов — shell, командный интерпретатор и командный процессор.
Оболочка — это лишь средство для выполнения определенных задач, а не сама задача. Этим она отличается от многих других программ.
Внутри терминала пользователь передает системе строки:
Каждая строка — это команда, которую система должна выполнить. После ввода команды обязательно нажать Enter , только в этом случае команда отправится на исполнение. После нажатия Enter отредактировать команду уже нельзя.
Оболочка запускается внутри терминала и приглашает ко вводу команд:
Рассмотрим фрагмент кода подробнее. Мы видим:
- Символ $ — он используется как разделитель
- Слева от $ — настраиваемое сообщение для вывода, обычно это текущая директория
- Справа от $ — команда, которую вводит пользователь
Все примеры в дальнейшем будут демонстрироваться без этого сообщения и символа. Рассмотрим для примера команду date , которая выводит текущую дату:
Другой пример команды — комментарии. Как и в любых языках программирования, они ни на что не влияют. С их помощью мы просто описываем происходящее:
Командная оболочка позволяет запускать на выполнение установленные программы. Но это далеко не все, на что она способна. Для комфортной работы полезно иметь:
- Автоматическое завершение имен программ и файлов
- Историю введенных команд
- Возможность перемещаться по файловой системе
- Удобные горячие клавиши
- Поддержку скриптов
Далее в курсе мы раскроем многие из этих аспектов.
Командные оболочки и терминалы бывают разные, хотя по умолчанию в большинстве операционных систем стоит Bash .
Отдельно скажем, что командная оболочка и терминал — не одно и то же. Терминал — это программа, которая запускает командную оболочку внутри себя:
Как вы увидите далее, командная оболочка — это полноценная среда программирования. Многие команды являются стандартными конструкциями любого языка программирования: переменными, циклами или условиями. Кроме того, некоторые команды являются программами, а некоторые — нет. В ближайших уроках для простоты мы будем говорить слово «команда», но потом объясним разницу.
Командную оболочку нередко называют реплом от английского REPL (Read-Eval-Print-Loop). Это сокращение отражает способ взаимодействия командной оболочки с пользователем:
- Read — оболочка ждет ввода команды от пользователя
- Eval — исполняет введенную команду
- Print — выводит результат
- Loop — возвращаемся к первому пункту
Этот процесс называется интерактивной сессией: после загрузки командная оболочка ждет ввода команды, исполняет ее, выводит результат и снова ждет ввода команды. Так происходит до тех пор, пока не будет дана команда на выход из терминала или выключение компьютера.
REPL — широко распространенный способ взаимодействия с пользователем. В следующих курсах вы увидите, что он есть и у баз данных, и у языков программирования.
Чтобы вам было удобнее выполнять задания к урокам, в среде Хекслета сразу запущено два терминала. Терминалы доступны в нижних вкладках под именами Terminal 1 и Terminal 2.
Во время изучения и экспериментов достаточно легко допустить ошибки. Всегда внимательно читайте вывод, в случае паники переоткройте терминал. Это позволит начать все с чистого листа.
Самостоятельная работа
Чтобы научиться работать в командной строке, нужно как можно больше практиковаться в терминале на вашем компьютере.
Сначала нужно установить терминал. Установка зависит от вашей операционной системы:
Если вы используете Linux или MacOS, в вашей операционной системе уже есть установленный терминал. Можете использовать его или скачать более продвинутую версию — например, iTerm2 для MacOS и Tilix для Linux
Если вы работаете с ОС Windows, вам потребуется использовать WSL
Далее убедитесь, что внутри терминала можно запустить bash-сессию. Откройте терминал и введите такой текст:
Дополнительные материалы
Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты
- Статья «Как учиться и справляться с негативными мыслями»
- Статья «Ловушки обучения»
- Статья «Сложные простые задачи по программированию»
- Урок «Как эффективно учиться на Хекслете»
- Вебинар « Как самостоятельно учиться »
Открыть доступ
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно
Командная оболочка
Оболочка операционной системы (от англ. 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.
- Aston shell
- BB4Win
- BBlean
- Cairo (Under Development)
- Chroma
- Emerge Desktop
- Geoshell
- Packard Bell Navigator
- Program Manager
- Secure Desktop
- SharpE
- Talisman Desktop
- WinStep
- Microsoft Bob
См. также
Wikimedia Foundation . 2010 .
Полезное
Смотреть что такое «Командная оболочка» в других словарях:
Командная оболочка UNIX — (англ. Unix shell, часто просто «шелл» или «sh») командный интерпретатор, используемый в операционных системах семейства UNIX, в котором пользова … Википедия
wish (командная оболочка UNIX) — У этого термина существуют и другие значения, см. Wish. wish (Windowing Shell) это простая сценарная или интерактивная командная оболочка UNIX для X Window System и Mac OS X. Она предоставляет пользователям возможность контролировать компоненты… … Википедия
Оболочка UNIX — Командная оболочка UNIX (англ. Unix shell, часто просто «шелл» или «sh») командный интерпретатор, используемый в операционных системах семейства POSIX совместимые оболочки, восходящие к Bourne shell, появившемуся в Unix Version 7. Содержание 1… … Википедия
Командная строка — Сюда перенаправляется запрос Интерпретатор командной строки. На тему «Интерпретатор командной строки» нужна отдельная статья. Внешний вид оболочки (англ. Co … Википедия
Shell (командная строка) — Оболочка операционной системы (от англ. shell оболочка) интерпретатор команд операционной системы (ОС), обеспечивающий интерфейс для взаимодействия пользователя с функциями системы. В общем случае, различают оболочки с двумя типами интерфейса для … Википедия
Командный процессор — Оболочка операционной системы (от англ. shell оболочка) интерпретатор команд операционной системы (ОС), обеспечивающий интерфейс для взаимодействия пользователя с функциями системы. В общем случае, различают оболочки с двумя типами интерфейса для … Википедия
Shell script — Командная оболочка UNIX (англ. Unix shell, часто просто «шелл» или «sh») командный интерпретатор, используемый в операционных системах семейства POSIX совместимые оболочки, восходящие к Bourne shell, появившемуся в Unix Version 7. Содержание 1… … Википедия
Unix shell — Командная оболочка UNIX (англ. Unix shell, часто просто «шелл» или «sh») командный интерпретатор, используемый в операционных системах семейства POSIX совместимые оболочки, восходящие к Bourne shell, появившемуся в Unix Version 7. Содержание 1… … Википедия
Unix Shell — Командная оболочка UNIX (англ. Unix shell, часто просто «шелл» или «sh») командный интерпретатор, используемый в операционных системах семейства POSIX совместимые оболочки, восходящие к Bourne shell, появившемуся в Unix Version 7. Содержание 1… … Википедия
О разных командных оболочках Linux и Unix
Наверняка почти все читатели Хабра знают оболочки sh и bash. Так же большинство из нас что-то слышали про zsh и tcsh. Однако на этом список существующих оболочек не заканчивается. Условно можно разделить их на три группы:
- Клоны Bourne shell (bash, zsh)
- C shell (csh, tcsh)
- Базирующиеся на популярных языках программирования(psh, ipython, scsh)
- Экзотические, специфические и все остальные
Наибольшее распространение получили POSIX-совместимые оболочки, ведущие родословную от Bourne shell (шелл Борна), поэтому с него и начнем
Bourne shell и его клоны
Bourne shell, исполняемый файл: sh. Командная оболочка названная в честь своего создателя Стивена Борна. Большая часть операторов была заимствована им из языка Алгол 68. Вышла в 7-м издании операционной системы UNIX, где была оболочкой по умолчанию. До сих пор подавляющее большинство Unix-подобных систем имеют /bin/sh — символическую или жесткую ссылку на sh-совместимую оболочку.
Bourne again shell, исполняемый файл: bash. Название можно перевести, как «Возрождённый шел Борна». Скорее всего самая популярная оболочка на сегодняшний день. Де-факто стандарт для Linux. Не буду на ней останавливаться, т.к. в интернете много хороших статей про bash. Например вот и вот.
Z shell, исполняемый файл: zsh. Свободная современная sh-совместимая оболочка. Имеет ряд преимуществ перед bash касающихся в основном работы в интерактивном режиме. О ней на Хабре писали тут и тут
Кроме того существует довольно много оболочек попадающих в эту группу: Korn shell (ksh) и Almquist shell (ash) etc но не будем подробно на них останавливаться.
C shell
C shell, исполняемый файл: csh Командная оболочка разработанная автором vi Биллом Джоем. За основу для скриптового языка csh был взят, как понятно из названия, язык C. Т.к. на тот момент, в 1978 г., это был наиболее популярный язык программирования среди разработчиков и пользователей BSD UNIX. В настоящий момент более популярна свободная реализация csh — tcsh.
TENEX C Shell, исполняемый файл: tcsh. Именно в tcsh когда-то впервые появилось автодополнение. Является оболочкой по умолчанию в FreeBSD. Подробнее о ней почитать можно здесь.
Для того чтоб наглядно показать разницу в синтаксисе приведу несколько примеров скриптов делающих одно и то же для csh и sh-совместимого командного интерпретатора.
Множественное ветвление (Переключатель, Swich/case):
Цикл вычисляющий 10 первых степеней двойки:
Однако список фичь поддерживаемых свежими версиями bash, zsh и tcsh очень похож и выбор конкретной оболочки по большей части дело вкуса. С менее распространенными оболочками дело обстоит иначе. Тут различия существеннее.
Командные оболочки, базирующиеся на популярных языках программирования.
Perl Shell, исполняемый файл: psh. Оболочка сочетающая в себе функции вышеупомянутых оболочек и мощь языка Perl. Т.к. psh написана на perl она может запускаться даже на Windows. Несколько примеров использования psh:
Scsh, исполняемый файл scsh. Командный интерпретатор с открытым кодом использующий в качестве скриптового языка Scheme 48. Не поддерживает стандартные для других оболочек функции (история команд, редактирование текста в командной строке, дополнение путей/команд). Рекомендуется написания скриптов, но не для интерактивной работы. Может прийтись по вкусу любителям функционального программирования. Ниже приведен пример скрипта, который выводит имена всех исполняемых файлов находящихся в каталогах из переменной окружения PATH
IPython. Это интерактивная оболочка для языка программирования Python, имеющая ряд дополнительных функций. IPython имеет специальный профиль для работы в качестве системной командной оболочки. Способ запуска этого режима зависит, как я понял, от версии, но на моей машине это выглядит так:
ipython3 —profile=pysh
- Кросплатформенность. Есть даже версия под Windows
- Python версий 2.x или 3.x в качестве скриптового языка, расширенные возможности интроспекции
- Автодополнение кода Python а так же имен файлов и системных команд.
- История команд и макросы на ее основе
- Механизм ускоряющий навигацию по каталогам, закладки и многое другое
Остальные
Конечно это не полный список даже популярных оболочек. Помимо вышеперечисленных категорий существуют ещё использующие собственный синтаксис, не совместимый с sh и не копирующий существующие ЯП . Примером может служить friendly interactive shell (fish). Но на последок хотел бы рассказать не о ней, а более специфической sleepshell.
Sleep Dummy Shell, исполняемый файл: sleepshell. Строго говоря командным процессором sleepshell назвать нельзя, т.к. он не умеет обрабатывать команды. И вообще не умеет ничего, кроме как периодически записывать в стандартный вывод звёздочки «*». Однако используется она именно в качестве командной оболочки и вот для чего: Допустим мы хотим предоставить кому-то возможность делать тоннели ssh через наш сервер под управлением Linux или Unix. Подробнее про ssh-туннелирование читаем тут. Но нам не нужно при этом, что этот кто-то получил доступ к командной строке и файловой системе нашего сервера. Для такого случая и предназначена sleepshell. Создаем на сервере аккаунт в качестве шела для него устанавливаем sleepshell. Владелец аккаунта сможет подключаться и пробрасывать порты, но не сможет выполнять команды.
На этом всё. Надеюсь, что было интересно. Буду рад любым замечаниям и советам по тексту статьи.