Коммандный интерфейс #
Андрей Михайлович Васильев, 2024
Версии презентации
Графический пользовательский интерфейс #
Пользователи сейчас приучены к графическому интерфейсу:
- Интерфейсы мобильных устройств, взаимодействие с помощью касания
 - Интерфейсы встраиваемых устройств, взаимодействие с помощью касания
 - Интерфейсы компьютеров, взаимодействие с помощью клавиатуры и мыши
 - Интерфейсы телевизоров, взаимодействие с помощью пульта
 - Интерфейсы игровых консолей, взаимодействие с помощью контроллера
 
«Продвинутое» использование интерфейса компьютера #
- Использование раздельных пространств для разделения приложений по задачам
 - Множество приложений, включая интерфейс ОС, предлагают использовать сочетания клавиш для быстрого выполнения действий
 
Запуск приложения в графическом интерфейсе #
Устройство графического интерфейса #
Что такое командный интерфейс #
CLI, command line interface, командный интерфейс — это способ взаимодействия с ОС, при которой пользователь вводит текстовые команды с клавиатуры, а приложение-интерпретатор их выполняет
Процесс взаимодействия выглядит следующим образом:
- Командный интерпретатор показывает приглашение для ввода
 - Пользователь вводит текстовую команду и нажимает «Ввод»
 - Командный интерпретатор обрабатывает строку
- Если команда была введена неверно, то интерпретатор сообщит об ошибке
 - Если команда была введена корректно, то задача будет выполнена
 
 - Пока команда выполняется, то ввод и вывод передаются команде
 - После завершения команды интерпретатор опять показывает приглашение
 
Почему стоит знать командный интерфейс #
- Данный интерфейс можно запустить на любых вычислительных мощностях
 - Действия командного интерфейса очень легко автоматизируются
- При условии минимальных знаний в программировании
 - Автоматизировать работу веселее чем вручную выполнять повторяющиеся действия
 
 - Приложения с командным интерфейсом легче разрабатывать
- Таких приложений разработано много
 - Приложения зачастую отлично решают конкретную задачу
 - Экспериментальные технологии разрабатываются с поддержкой только этого интерфейса
 
 - Удобен для удалённого подключения, т.к. потребляет мало трафика
 - Из командного интерфейса можно запускать графические приложения
 - Большинство средств разработки имеют доступ к командному интерфейсу, например 
~открывает консоль в CS:GO 
Командный интерпретатор и эмулятор терминала #
Командный интерпретатор — это приложение, которое запускается средствами ОС, следовательно под каждой ОС может быть установлено множество таких интерпретаторов
Эмулятор терминала — это приложение, которое запускается средствами ОС и которое эмулирует терминал компьютера внутри другой архитектуры вывода данных на экран
Какие бывают интерпретаторы #
Типичные представители интерпретаторов:
- Windows: 
cmd,PowerShell,bash(порт) и т.д. - MacOS: 
bash,zshи т.д. - Linux: 
bash,zsh,fish,dashи т.д. 
Мы будем рассматривать Bash, Bourne Again Shell, названного в честь создателя оригинального приложения sh Стива Борна
Данный интерпретатор устанавливается по умолчанию в большинстве дистрибутивов GNU/Linux, ранее тоже был интерпретатором по умолчанию для macOS
Эмуляторы терминала #
- Предоставляют графический интерфейс
 - Позволяют запустить несколько экземпляров командных интерпретаторов
 - Позволяют просматривать журнал работы и работать с ним как с текстом
 
Примеры терминалов под разные операционные системы:
- Windows: ConEmu, Mintty, Windows Terminal
 - GNU/Linux: gnome-terminal, console, terminator, xfce4-terminal, xterm
 - macOS: Terminal, iTerm2
 
Linux также обеспечивает возможность работы с интерпретатором без графического интерфейса. Классический вид терминала доступен с помощью сочетания клавиш Ctrl+Alt+F1 (F2, F3, …)