Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
UNIX_Konsp+Present_Kostiv / Терминал и командная строка.doc
Скачиваний:
46
Добавлен:
12.02.2016
Размер:
256.51 Кб
Скачать

Терминал и командная строка

Презентация 4-01: терминал и командная строка

Основным интерфейсом взаимодействия пользователя с операционной системой UNIX во всех её модификациях была и остается командная строка. Суть этого интерфейса состоит в обмене текстами с системой: пользователь набирает текстовые команды, а операционная система возвращает ему информацию также в текстовом виде. Несмотря на то, что в современных UNIX-системах широко используются графические пользовательские интерфейсы, командная строка остаётся основным рабочим инструментом администратора системы. Причина этого не в каких-то особенных вкусах администраторов, а в том, что в UNIX-подобных системах командная строка очень хорошо выполняет задачи интерфейса управления системой, она эффективна и удобна — и именно поэтому всеми используется. Этому есть разумное объяснение — командная строка позволяет администратору управлять системой, совершая меньшее количество действий (интерфейсных жестов), чем с помощью графического интерфейса и мыши. Немаловажно и то, что администратор может объединять сложные последовательности действий в сценарии.

Терминал

Текстовый принцип работы с системой позволяет отвлечься от конкретных частей компьютера, вроде клавиатуры и видеокарты с монитором, рассматривая единое оконечное устройство, посредством которого пользователь вводит текст и передает его системе, а система выводит необходимые пользователю данные и сообщения. Такое устройство называется терминалом. В общем случае терминал — это точка входа пользователя в систему, обладающая способностью передавать текстовую информацию.

Прототипом такого устройства был телетайп, который стал использоваться в качестве средства обмена данными с компьютером еще в 1950-е годы. В современных компьютерах для организации интерфейса командной строки используется клавиатура и экран монитора, работающий в текстовом режиме. Терминалом может быть и отдельное внешнее устройство, подключаемое к компьютеру через порт последовательной передачи данных («COM-порт»).

Современные UNIX-системы предоставляют графические пользовательские интерфейсы (подробнее графическая подсистема UNIX рассматривается в разделе Глава 9, Графическая подсистема UNIX), которые также дают возможность работы в командной строке. Эта возможность достигается с помощью графических терминалов — специальных программ, которые эмулируют текстовый терминал в графическом окне.

Роль терминала может с успехом выполнять и программа, исполняющаяся на сколько угодно удалённом компьютере, связанным с UNIX-системой, например, посредством сети Интернет. В современной практике такой способ доступа очень широко используется для удалённой работы, в особенности для администрирования серверов, которые зачастую устанавливаются в специальных помещениях, доступ в которые затруднен и нежелателен.

Управляющие символы

Свойство терминала передавать только текст (иначе говоря, последовательности символов) приводит к необходимости операции по управлению вводом и выводом текста тоже кодировать с помощью специальных символов: удаление неправильно введённых символов, команда передать введённый текст системе, перевод строки, графическое выделение выведенного текста и т. п. Такие символы объединяют понятием управляющие символы.

Часть управляющих символов вводится специальными клавишами, предусмотренными для управления вводом текста, такими как Backspace и Enter. Управляющих символов может быть больше, чем нетекстовых клавиш на клавиатуре, в этом случае их необходимо извлекать с помощью какого-либо клавиатурного модификатора, например, Ctrl.

Количество различных управляющих символов зачастую ограничено и оказывается меньше количества необходимых терминалу команд. В этом случае для передачи команд используются управляющие последовательности, которые начинаются управляющим символом, за которым следует строго определенное число обычных символов, в данном случае интерпретируемых терминалом как та или иная команда.

Специальные управляющие символы могут быть также зарезервированы для команд межпроцессного взаимодействия (передачи сигналов). В частности, для завершения командной оболочки можно использовать символ конца ввода Ctrl-D. Эту команду интерпретирует при вводе с терминала система. Она же превращает некоторые другие управляющие символы (например, Ctrl-C — «прерывание» или Ctrl-Z — «засыпание») в соответствующие сигналы.

Одной из полезных особенностей терминала является возможность его «прокрутки» с помощью клавиш Shift-PgUp и Shift-PgDn. Это может быть полезно, если вывод программы занимает больший объём, чем размер экрана.

Каждое устройство или программа, выполняющие функции терминала, имеет свои возможности по вводу и выводу информации. Примерами таких возможностей являются: число цветов отображения, способность перемещать курсор и изменять размер экрана, набор управляющих символов и т. п. При этом для операционной системы важна возможность работать с любыми терминалами одинаковым способом. Для этого в операционных системах семейства UNIX вводится понятие тип терминала: каждый тип сводится к набору возможностей, регламентированных в специальном конфигурационном файле. Информация о всех существующих типах терминалов хранится в специализированной базе данных (terminfo или termcap). Примерами типов являются: tty (телетайп) или xterm (графический терминал).