Интерфейс командной строки
Интерфейс командной строки (англ. Command line interface, CLI) — разновидность текстового интерфейса (TUI) между человеком и компьютером, в котором инструкции компьютеру даются в основном путём ввода с клавиатуры текстовых строк (команд). Также известен под названиями «консоль» и «терминал».
Для работы понадобятся две вещи:
- Терминал
- Командный интерпретатор
Терминал
Терминалом называют программу, которая эмулирует поведение "железного" терминала, состоящего из клавиатуры и монитора. В простейшем случае — это просто окошко с командной строкой внутри.
Командный интерпретатор
У этого понятия множество синонимов, среди них shell ("шелл"), командная оболочка и командный процессор. Командная оболочка— программа, через которую пользователь управляет операционной системой и установленными программами, используя командную строку. Оболочка отличается от большинства других программ тем, что она является лишь средством для выполнения определённых задач, а не самой задачей. Shell запускается внутри терминала и приглашает к вводу команд.
Каждая строка, передаваемая пользователем системе — это команда, которую та должна выполнить. После ввода команды обязательно нажать Enter, только в этом случае она отправится на исполнение. Символ $ используется как разделитель. Слева от него — настраиваемое сообщение для вывода, обычно текущая директория, а справа — то, что вводится пользователем.
По сути shell — это полноценная среда программирования, а многие команды являются стандартными конструкциями любого языка программирования, такими как переменные, циклы или условия.
Командная оболочка и терминал — не одно и то же! Терминал — это программа, которая запускает командную оболочку внутри себя.
Командную оболочку нередко называют реплом (REPL, Read-Eval-Print-Loop), что отражается в способе взаимодействия с пользователем (такой процесс называется интерактивной сессией):
- Read — шелл ждёт ввода команды от пользователя
- Eval — шелл исполняет введённую команду
- Print — шелл выводит результат
- Loop — возвращаемся к первому пункту
История
Чем больше работаешь в командной строке, тем чаще возникает необходимость повторять введённые ранее команды. Самый простой способ просматривать историю команд — нажимать клавиши "вверх/вниз". При каждом нажатии стрелки "вверх" в поле ввода начнёт появляться предыдущая выполненная команда, если нажать "вниз" — то следующая.
История команд bash хранится в специальном файле .bash_history, который лежит в домашней директории пользователя. Каждый раз, когда пользователь вводит команду, она попадает именно в этот файл. Он ничем не отличается от остальных файлов: его можно открыть, посмотреть и даже отредактировать. За то, какое количество команд хранится в истории, отвечает переменная окружения HISTFILESIZE. Если она выставлена, то берётся указанное в ней число, иначе история не обрезается и файл .bash_history растёт "бесконечно".
Команда man
man (от англ. manual — руководство) — команда Unix, предназначенная для форматирования и вывода справочных страниц.
Чтобы вывести руководство по какой-либо команде, достаточно набрать man <имя команды> — и мы попадём в режим чтения документации. В мануале содержится много полезной информации, например, описание утилиты в целом, формат её вызова, все возможные опции и даже примеры вызовов.
Для просмотра манула вниз жмите f (forward), назад — b (backward), а для выхода из режима просмотра нажмите q.