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

Интерфейс командной строки (англ. Command line interface, CLI) — разновидность текстового интерфейса (TUI) между человеком и компьютером, в котором инструкции компьютеру даются в основном путём ввода с клавиатуры текстовых строк (команд). Также известен под названиями «консоль» и «терминал».

Для работы понадобятся две вещи:

  1. Терминал
  2. Командный интерпретатор

Терминал

Терминалом называют программу, которая эмулирует поведение "железного" терминала, состоящего из клавиатуры и монитора. В простейшем случае — это просто окошко с командной строкой внутри.

Командный интерпретатор

У этого понятия множество синонимов, среди них shell ("шелл"), командная оболочка и командный процессор. Командная оболочка— программа, через которую пользователь управляет операционной системой и установленными программами, используя командную строку. Оболочка отличается от большинства других программ тем, что она является лишь средством для выполнения определённых задач, а не самой задачей. Shell запускается внутри терминала и приглашает к вводу команд.

Каждая строка, передаваемая пользователем системе — это команда, которую та должна выполнить. После ввода команды обязательно нажать Enter, только в этом случае она отправится на исполнение. Символ $ используется как разделитель. Слева от него — настраиваемое сообщение для вывода, обычно текущая директория, а справа — то, что вводится пользователем.

По сути shell — это полноценная среда программирования, а многие команды являются стандартными конструкциями любого языка программирования, такими как переменные, циклы или условия.

Командная оболочка и терминал — не одно и то же! Терминал — это программа, которая запускает командную оболочку внутри себя.

Командную оболочку нередко называют реплом (REPL, Read-Eval-Print-Loop), что отражается в способе взаимодействия с пользователем (такой процесс называется интерактивной сессией):

  1. Read — шелл ждёт ввода команды от пользователя
  2. Eval — шелл исполняет введённую команду
  3. Print — шелл выводит результат
  4. Loop — возвращаемся к первому пункту

История

Чем больше работаешь в командной строке, тем чаще возникает необходимость повторять введённые ранее команды. Самый простой способ просматривать историю команд — нажимать клавиши "вверх/вниз". При каждом нажатии стрелки "вверх" в поле ввода начнёт появляться предыдущая выполненная команда, если нажать "вниз" — то следующая.

История команд bash хранится в специальном файле .bash_history, который лежит в домашней директории пользователя. Каждый раз, когда пользователь вводит команду, она попадает именно в этот файл. Он ничем не отличается от остальных файлов: его можно открыть, посмотреть и даже отредактировать. За то, какое количество команд хранится в истории, отвечает переменная окружения HISTFILESIZE. Если она выставлена, то берётся указанное в ней число, иначе история не обрезается и файл .bash_history растёт "бесконечно".

Команда man

man (от англ. manual — руководство) — команда Unix, предназначенная для форматирования и вывода справочных страниц.

Чтобы вывести руководство по какой-либо команде, достаточно набрать man <имя команды> — и мы попадём в режим чтения документации. В мануале содержится много полезной информации, например, описание утилиты в целом, формат её вызова, все возможные опции и даже примеры вызовов.

Для просмотра манула вниз жмите f (forward), назад — b (backward), а для выхода из режима просмотра нажмите q.

openImgPic