Please enable JavaScript.
Coggle requires JavaScript to display documents.
Терминал и командная строка - Coggle Diagram
Терминал и командная строка
Интерфейс командной строки
В современных UNIX-системах широко используются графические пользовательские интерфейсы, НО
командная строка остаётся основным рабочим инструментом администратора:
командная строка позволяет управлять системой, совершая меньшее количество действий (интерфейсных жестов);
можно объединять сложные последовательности действий в сценарии
Терминал
Текстовый принцип работы с системой позволяет отвлечься от конкретных частей компьютера, рассматривая единое оконечное устройство, посредством которого пользователь обменивается с системой сообщениями
Современные терминалы
Клавиатура + Монитор
графические терминалы — специальные программы, эмулирующие текстовый
терминал
Внешнее устройство
(через COM-порт)
Программа на удалённом компьютере
Управляющие символы:
специальные клавиши (Backspace, Enter);
клавиатурный модификатор (Ctrl) + клавиша;
управляющие последовательности
Одновременный доступ к системе
Каждый компьютер позволяет зарегистрироваться и получить доступ к системе с нескольких терминалов одновременно
одновременная регистрация в системе на нескольких терминалах позволяет работать поочередно с несколькими задачами без необходимости каждый раз их завершать и затем возобновлять.
КОМАНДНАЯ СТРОКА
Командная оболочка
В UNIX существует несколько различных командных оболочек, используемых для управления системой:
bash — самая распространенная командная оболочка
Приглашение
Приглашение служит для визуальной организации интерфейса пользователя:
указывает область экрана, где будет отображаться вводимая пользователем команда (непосредственно справа от приглашения, в той же строке),
выводит информацию о некоторых текущих свойствах командной оболочки (имени пользователя, текущем каталоге и т. п.)
Строка – приглашение
user@desktop
~ $ содержит
имя пользователя, с правами которого
исполняется командная оболочка (user),
имя компьютера (desktop),
имя текущего каталога (~ этим символом обозначается домашний каталог
пользователя),
символ начала ввода ($) - можно изменить.
Команды
В качестве имени команды может использоваться:
имя программы-утилиты (для внешних команд);
Внутренняя функция оболочки
Псевдоним
Параметры
Модификаторы поведения вводятся в командной строке после имени команды — это параметры команды.
Параметров может быть произвольное количество,
друг от друга параметры отделяются пробелами (символами табуляции и символами перевода строки),
параметры передаются программе в том порядке, в котором они указаны в командной строке.
Шаблоны
Можно задать одно «общее» имя для группы файлов при помощи шаблона.
Символы в шаблоне разделяются на:
обычные (соответствуют таким же символам в строке);
специальные — обрабатываются особым образом:
Перенаправление ввода и вывода
Символы перенаправления:
указываются в командной строке после всех параметров команды,
за символом перенаправления должно следовать имя файла, в который или из которого следует передать данные
Программное окружение
Стандартные переменные окружения
инициализируется при старте командной оболочки
можно посмотреть с помощью команды env.
Служебные символы
Служебные символы адресованы самой командной оболочке при обработке командной строки они из нее «изымаются» и не передаются выполняющейся команде – для этого их необходимо экранировать.
Способы экранирования:
заключение параметра в одинарные или двойные кавычки;
постановка символа обратной косой черты () непосредственно перед
служебным символом.
Процесс выполнения команды
если это сокращение (alias), то оно
раскрывается и анализ команды продолжается;
если это встроенная команда, для неё
вызывается функция-обработчик;
анализ команды: выделение имени,
параметров и аргументов;
Возвращаемое значение
Каждый процесс при завершении возвращает своему родительскому процессу специальный код завершения программы.
Средства объединения команд:
Последовательное выполнение
Команды выполняются одна за другой, независимо от результата их исполнения. В качестве разделителя выступает точка с запятой (;)
Условное выполнение (И)
Проверяется код завершения первой программы, если он равен 0, производится выполнение второй программы, и так далее. В качестве разделителя выступают два амперсанда («&&»).
Условное выполнение (ИЛИ)
Проверяется код завершения первой программы, если он не равен 0, производится выполнение второй программы, и так далее. В качестве разделителя выступают две вертикальные черты («||»).
Конвейер
При выполнении списка команд, объединённых в конвейер стандартный вывод команды направляется на стандартный ввод следующей за ней команды в конвейере напрямую.
Передаваемые данные рассматриваются как текстовые.