Почему люди используют интерфейс командной строки (CLI)
23 марта 2022 г.Графический пользовательский интерфейс (GUI) стал стандартом в начале 90-х годов. Он заменил старый текстовый интерфейс. Это сделало компьютеры более доступными для всех. Так почему же мы все еще видим людей, работающих на текстовых терминалах?
Это быстро
Клавиатура — это самый быстрый и точный интерфейс ввода для компьютеров. Каждый палец имеет несколько клавиш в пределах досягаемости, и средний пользователь может набирать две или три буквы каждую секунду. Сравните его с мышью — у него всего несколько кнопок, прокрутка и ось X-Y. Подходит только для выбора одного из предустановленных вариантов на экране. И между нажатиями будет как минимум несколько секунд.
Из-за этих недостатков большинство графических приложений имеют сочетания клавиш. Чтобы эффективно использовать компьютеры, вам нужно их много изучить; почти больно видеть, как люди копируют и вставляют без использования системных ярлыков. К сожалению, большинство графических интерфейсов не очень эффективны в обучении сочетаниям клавиш — часто пользователь сам ищет сочетания клавиш для своих наиболее распространенных действий.
С другой стороны, в CLI все основано на тексте. Некоторые приложения запускаются одной длинной командой, например git, grep, sed и т. д. Другие приложения открывают текстовый интерфейс, где каждая операция выполняется с помощью сочетаний клавиш, например, Vim, Emacs.
Управляет сложностью
Текстовая программа может принимать любое количество переключателей, и вам нужно знать только о тех немногих, которые вы используете. Вы когда-нибудь задумывались о том, сколько параметров может принимать веб-браузер Chromium? Более 1000 (источник). Они там, готовые к использованию, если они вам когда-нибудь понадобятся. Но в большинстве случаев они скрыты от глаз — если только вы не начнете читать документацию.
Такая же функциональность недостижима в приложениях с графическим интерфейсом. Менее распространенные функции либо загромождают экран, либо прячутся в огромных многослойных меню. Вместо этого вы получаете:
- простые программы для простых случаев использования с доступным интерфейсом
- профессиональные программы со страшными интерфейсами, где сложно найти даже базовые опции
Скрипты
Программы командной строки принимают текст в качестве ввода и выдают текст в качестве вывода. На уровне ввода/вывода все программы CLI совместимы. Например, вы можете перечислить все файлы в вашем репозитории с помощью git ls-files
, а затем использовать grep
для фильтрации — вам просто нужен оператор канала для этого:
$ git ls-файлы | индекс grep
домашняя страница/index.html
регистрация/index.html
index.js
Оператор конвейера дает вам доступ к вычислительным сверхспособностям, невообразимым в графическом мире. Вещи как
- создание тысяч папок или
- поиск всех файлов, соответствующих или содержащих какой-либо шаблон, и выполнение некоторой операции над всеми ними
довольно просты и требуют поиска в Интернете, чтения документации и проб и ошибок.
Пользовательский интерфейс
По этим причинам командная строка является основным интерфейсом для многих программ. Так что, как пользователь, вы почти вынуждены его использовать. Лучшим примером этого является Git: у вас есть несколько графических интерфейсов для него, но их использование создает еще один уровень абстракции данных, которыми вы управляете. Если Git — это инструмент, который вы используете каждый день, вам будет полезно изучить его интерфейс командной строки. У меня сложилось впечатление, что графический интерфейс позволяет вам достичь 80% ваших целей, но тогда вы можете столкнуться с более странным случаем, когда командная строка является единственным способом решить эту проблему.
Эта статья была впервые опубликована [здесь] (https://how-to.dev/why-do-people-use-the-command-line-interface-cli)
Оригинал