Сегодня большинство пользователей работают в графических интерфейсах (GUI — graphical user interface), где взаимодействие с компьютером осуществляется преимущественно через клики мышью по элементам интерфейса, таким как кнопки, меню и текстовые поля. Однако так было не всегда.
Изначально интерфейсы были текстовыми, и для выполнения задач необходимо было вводить текстовые команды в так называемой командной строке. Этот текстовый метод взаимодействия известен как интерфейс командной строки (CLI — command line interface).
CLI может показаться устаревшим для обычного пользователя, но он остается востребованным и часто более эффективным в ряде профессиональных IT-сфер. Это особенно актуально для серверов, включая веб-серверы, где разработчики могут удаленно разворачивать программные серверы и загружать файлы сайтов.
В операционных системах, особенно таких как GNU/Linux, существует множество разнообразных GUI. Они ориентированы на неподготовленного пользователя, чтобы он мог интуитивно разобраться, как пользоваться системой. Хороший GUI всегда должен быть понятным и доступным.
Командная строка отличается. Здесь необходимо знать команды и особенности работы операционной системы. Однако CLI предлагает гораздо больше возможностей управления, чем GUI. Написание программного обеспечения проще без графического интерфейса, что делает CLI средством доступа к более широкому спектру системных программ.
Интерфейс командной строки, как и графический, представляет собой абстрактное понятие, не являясь конкретным программным продуктом. Существуют различные реализации каждой из концепций. В Linux популярными GUI являются оболочки для Gnome и KDE, в то время как в Windows графический интерфейс постоянно меняется с обновлением версий.
Что касается интерфейса командной строки в ОС на базе ядра Linux, наиболее часто его реализует программа Bash, которая относится к командным оболочкам.
Bash запускается в текстовом режиме или его эмуляторе — специальной программе, работающей в графическом режиме и представляющей собой текстовое окно. В последних версиях GNU/Linux такая программа-эмулятор называется "Терминал".
Между тем, в определенных дистрибутивах Linux можно переключиться из графического в текстовый режим, нажав Ctrl + Alt + F1 (вместо F1 можно использовать клавиши от F2 до F6). Возврат в графический режим обычно осуществляется через Ctrl + Alt + F7.
В текстовом режиме графические элементы, включая курсор мыши, отсутствуют, и взаимодействие с системой осуществляется только с помощью клавиатуры. Именно таким был процесс работы на компьютере до появления GUI.
Ранее терминалы представляли собой клавиатуры и мониторы, удаленные от компьютера. Терминалы подключались к ЭВМ через модемы или последовательные порты, обеспечивая многопользовательский доступ к ресурсам вычислительной машины. А комплект клавиатура+монитор, непосредственно подключенный к компьютеру, назывался консолью. И сегодня во многих областях используется терминальный доступ к общим ресурсам.
Подведем итог: основные преимущества интерфейса командной строки включают в себя:
- Командная строка дает более быстрый доступ к функциям ОС, иногда это единственный способ запуска определенных процессов.
- CLI потребляет меньше ресурсов по сравнению с графическим интерфейсом.
- Бывают случаи, когда GUI вовсе не требуется, например, на серверных платформах.
- С помощью командной оболочки возможна автоматизация операций и выполнение заранее подготовленных файлов с последовательностями команд.