Страшная командная строка

Повторение: когда имеет и когда не имеет смысл углубляться в устройство рабочего стола

Немного «дикой психофизиологии»

Графический интерфейс использует визуальный поиск, под который у человека есть много готовых когнитивных инструментов как с физиологической, так и с психологической стороны.

Сравнимый (наверное) по мощности аппарат — речь. Задачу классификации можно решить, выстраивая дерево текстовых меток — меню.

FrBrGeorge/MyDict/speech_balloon_question.png Организация пользовательского интерфейса в виде тегов?

Структура командного интерфейса

Интерфейс командной строки — самый старый

Принципы:

Очевидно, что интерфейс командной строки ещё сильнее эксплуатирует именно речевые способности человека. Главный недостаток — задача не решается простым поиском (разве что поиском в интернете, но и то без гарантии).

Примеры современной командной строки — Python, консоль Firefox, ChatGPT…

Главный интерфейс командной строки Linux — шелл.

Терминал vs консоль vs шелл

Но шелл в них один и тот же! Поэтому их часто путают…

Коротко про шелл

  1. Шелл — это интерпретатор командной строки. Своих собственных команд у шелла мало, 90% команд — это просто имена программ. Большинство программ в дистрибутиве Linux поддерживают запуск из командной строки с параметрами — «ключами».
  2. Шелл — это редактор командной строки. Командную строку надо уметь быстро и безошибочно вводить / изменять. Чудесный инструмент — достраивание (completion, как в поиске браузера).

  3. Шелл — это язык программирования, т. н. «язык склейки». Актуально алгоритмически полный, очень эффективно заточенный для работы с основными компонентами управления системой — файлами, программами и текстами.

FrBrGeorge/MyDict/speech_balloon_question.png Существует ли «список всех команд в Linux»?

Поскольку большинство программ — это команды shell (некоторые только для этого и используются), существует (неформальная) дисциплина оформления параметров, передаваемых через командную строку. В современных ЯП эта дисциплина очень активно поддерживается (например, в Python).

Коротко про команды-программы

Договорённости относительно командной строки (просто параметры и ключи)

«Маны»

Пример совмещения потока данных и потока управления в терминале — получение справочной информации.

ESC-последовательности

После отмирания аппаратных терминалов, чуть менее чем все эмуляторы поддерживают стандартные Управляющие последовательности ANSI. Некоторые символы при выводе на терминал не отображаются как символы, а управляют дальнейшим выводом; перемещают курсор по экрану, перекрашивают (будущий) фон и заливку, очищают часть экрана и т. п.

В древности вокруг очень разных управляющих последовательностей была наверчена целая библиотека (в Linux она называется NCurses), однако сейчас можно ограничиться ANSI, буквально ручками.

Это позволяет:

ESC-последовательности и несовместимость терминалов (если вдруг!), пример.

Эмодзи? Зачем эмодзи?

FrBrGeorge/QA/03_CommandLine (последним исправлял пользователь FrBrGeorge 2026-08-18 22:39:15)