Почему так много пользователей Linux предпочитают командную строку вместо GUI?
Почему многие пользователи Linux предпочитают CLI вместо графического интерфейса? В последний раз, когда я следил за этим вопросом на Reddit, я наткнулся на несколько полезных материалов:
Я работаю с GUI-приложениями чаще, чем с CLI, но именно так я выполняю свои самые важные задачи для разработчиков. Интерфейс командной строки, возможно, имеет крутую кривую обучения, но как только вы освоите его, он вам понравится, потому что он станет второй натурой.
Вот наиболее универсальные причины, по которым, я думаю, многие пользователи Linux предпочитают интерфейс командной строки.
1. Нет отвлекающих факторов
Моя первая любимая вещь в CLI — это интерфейс без отвлекающих факторов. Конечно, по умолчанию чёрное и белое могут пугать первые пару раз, но вы увидите, что это работает, как только вы освоите его.
Интерфейс всегда отображает только ту информацию, которая необходима вашему текущему проекту, а любая другая информация находится в нескольких нажатиях клавиш. Таким образом, вы сосредоточены на важных вещах.
2. Более информативный
Задумайтесь об этом — практически невозможно поместить каждый параметр командной строки в панель параметров графического интерфейса. Текстовые редакторы и IDE могут размещать различные опции на панелях инструментов и скрытых макетах по прошествии некоторого времени программирования, но со временем добавляются дополнительные опции — которые при нажатии вызывают команды в фоновом режиме.
Если вы когда-либо создавали приложение с графическим интерфейсом раньше, вы знали бы, что каждый параметр, который вы видите в окне приложения, связан с командой, которая выполняется в фоновом режиме. Фактически, прежде чем функции будут реализованы в виде параметров графического интерфейса, сначала разбирается аспект CLI. В связи с этим CLI всегда будет более многословным с точки зрения наборов опций и удобства использования.
3. Требуется меньше места для хранения
Приложения на основе командной строки требуют меньше места для хранения, потому что им не нужно графической реализации, которой обладают приложения с графическим интерфейсом, независимо от того, насколько они легки.
Это означает, что если пространство для хранения является проблемой для вас, то вам лучше использовать приложения на основе CLI, не опасаясь потери производительности. И это приводит к моему следующему пункту;
4. Повышает производительность
Пункт с отсутствием отвлекающих факторов уже поднимает производительность на ступеньку выше, а тот факт, что вы работаете только с помощью клавиатуры, большую часть времени улучшает как рабочий процесс, так и моральный дух.
Один из друзей-разработчиков сказал мне однажды: Чем реже вы будете касаться мышью во время работы, тем более продуктивной вы будете . Поэтому неудивительно, почему мастера-программисты предпочитают использовать редакторы на основе CLI, например, Vim и Emacs .
5. Эффективное использование памяти
Работа с CLI намного более дружественна к памяти, чем использование приложения с графическим интерфейсом, и хорошим примером сценария является Git . Лучшие приложения с графическим интерфейсом для Git достаточно эффективны при использовании памяти, но использование Git непосредственно из командной строки является наиболее дружественным к памяти для ваших операций.
6. Дистро-агностика
Приложения командной строки редко используют разные команды, независимо от того, в каком дистрибутиве они работают, но это обычно не относится к приложениям с графическим интерфейсом на платформах GNU / Linux, macOS и Windows, поскольку параметры могут быть перестроены в соответствии со схемой интерфейса платформы.
Например, в экосистеме Linux, bash использует те же команды. Как системный администратор, все, что вам нужно сделать, это изучить bash, и вы сможете использовать любой другой дистрибутив Linux.
Существуют и другие причины, по которым CLI более привлекателен для многих пользователей Linux, в том числе автоматизация с помощью скриптов и общая скорость.
Независимо от того, используете ли вы командную строку чаще, чем приложения с графическим интерфейсом, я уверен, что у вас есть идеи о том, почему так много пользователей Linux предпочитают использовать его чаще, чем GUI приложения.
Если статья была для вас полезной, просим поставить лайк и подписаться на наш канал . Также посетите наш сайт , чтобы увидеть больше подобного контента.
Интерфейс командной строки
Современный пользователь почти всегда работает с графическим интерфейсом (GUI — graphical user interface), в котором взаимодействие между человеком и компьютером происходит в основном с помощью кликов мышью по графическим объектам: кнопкам, пунктам меню, текстовым полям и др. Однако так было не всегда.
Первые интерфейсы были текстовыми, команды отдавались словами, которые писались в так называемой командной строке. Такой текстовый способ взаимодействия между человеком и компьютером называется интерфейсом командной строки (CLI — command line interface).
CLI – устаревшая технология с точки зрения рядового пользователя. Однако в ряде профессиональных IT-областей CLI остается востребованным и более удобным, чем GUI. Например, на серверах, в том числе веб-серверах. Так разработчик может развернуть программный сервер на удаленном компьютере и загрузить туда файлы сайта.
В операционных системах, особенно в GNU/Linux, графические интерфейсы разнообразны. Однако все они ориентированы на неподготовленного пользователя, чтобы он мог сам быстро разобраться, как пользоваться системой. Любой приличный GUI должен быть интуитивно понятным.
С командной строкой все не так. Здесь надо знать команды, уметь ими пользоваться, иметь представление об особенностях работы ОС. Однако CLI дает больше возможностей для управления, чем любой GUI. Это и понятно, написать программу без GUI проще. Разработка к ней графического интерфейса – отдельная история. Поэтому через CLI обычно доступно больше системных программ.
Интерфейс командной строки – это абстрактное понятие. Так же как графический интерфейс пользователя. Не существует конкретных программных продуктов под названием CLI или GUI. Однако есть различные реализации как одного, так и другого. В Linux наиболее популярными GUI на сегодняшний день можно назвать различные оболочки для Gnome, а также KDE. У Windows свой GUI, который претерпевает изменения от версии к версии.
Что касается интерфейса командной строки, то в операционных системах на базе ядра Linux в большинстве случаев его обеспечивает программа Bash, которую относят к группе так называемых командных оболочек.
Bash запускается в текстовом режиме или его эмуляторе – специальной программе, открывающейся в графическом режиме, но которая представляет собой текстовое окно. В последних версиях GNU/Linux такая программа-эмулятор обычно называется «Терминал».
Однако кроме этого во многих дистрибутивах Linux можно перейти из графического в текстовый режим работы, нажав Ctrl + Alt + F2 (вместо F2 может быть от F3 до F6). Обычно Ctrl + Alt + F7 возвращает обратно в графический режим.
В текстовом режиме полностью исчезают элементы графического интерфейса, а также курсор мыши. Отдавать команды операционной системе можно только с помощью клавиатуры. Именно так выглядела работа на компьютере до появления GUI.
В те времена терминалами называли комплекты клавиатура + монитор, удаленные от компьютера. К ЭВМ могло быть подсоединено множество терминалов с помощью модемов или последовательных портов. Таким образом осуществлялся многопользовательский режим доступа к ресурсам вычислительной машины.
Консолью называли клавиатуру + монитор, непосредственно соединенные с компьютером. В ряде областей терминальный доступ к общим ресурсам используется и сегодня.
Итак, отметим основные преимущества интерфейса командной строки:
- Командная строка обеспечивает более быстрый доступ к некоторым возможностям операционной системы, нередко это единственный способ запустить тот или иной процесс.
- Текстовый интерфейс менее требовательный к ресурсам, чем графический.
- Бывает, что графический режим просто не нужен, например, на серверах.
- С помощью командной оболочки легче автоматизировать работу операционной системы и программ, так как она может выполнять заранее подготовленные файлы с последовательностью команд.
Курс с ответами к заданиям и дополнительными уроками в PDF
Введение в Linux и Bash. Курс