- •Оглавление
- •Общие сведения
- •Современные версии ос unix
- •Основные характеристики
- •Архитектура ос unix
- •Системное программное обеспечение
- •Терминал и командная строка
- •Терминал
- •2.1.1. Управляющие символы
- •2.1.2. Одновременный доступ к системе
- •Командная строка
- •2.2.1. Командная оболочка
- •2.2.2. Приглашение
- •2.2.3. Команды
- •2.2.4. Шаблоны
- •2.2.5. Перенаправление ввода и вывода
- •2.2.6. Служебные символы
- •2.2.7. Основные группы служебных символов командной оболочки:
- •2.2.8. Процесс выполнения команды
- •Список использованной литературы
2.1.1. Управляющие символы
Свойство терминала передавать только текст (иначе говоря, последовательности символов) приводит к необходимости операции по управлению вводом и выводом текста тоже кодировать с помощью специальных символов: удаление неправильно введённых символов, команда передать введённый текст системе, перевод строки, графическое выделение выведенного текста и т. п. Такие символы объединяют понятием управляющие символы.
Часть управляющих символов вводится специальными клавишами, предусмотренными для управления вводом текста, такими как Backspace и Enter. Управляющих символов может быть больше, чем нетекстовых клавиш на клавиатуре, в этом случае их необходимо извлекать с помощью какого-либо клавиатурного модификатора, например, Ctrl.
Количество различных управляющих символов зачастую ограничено и оказывается меньше количества необходимых терминалу команд. В этом случае для передачи команд используются управляющие последовательности, которые начинаются управляющим символом, за которым следует строго определенное число обычных символов, в данном случае интерпретируемых терминалом как та или иная команда.
Специальные управляющие символы могут быть также зарезервированы для команд межпроцессного взаимодействия (передачи сигналов). В частности, для завершения командной оболочки можно использовать символ конца ввода Ctrl-D. Эту команду интерпретирует при вводе с терминала система. Она же превращает некоторые другие управляющие символы (например, Ctrl-C — «прерывание» или Ctrl-Z — «засыпание») в соответствующие сигналы.
Одной из полезных особенностей терминала является возможность его «прокрутки» с помощью клавиш Shift-PgUp и Shift-PgDn. Это может быть полезно, если вывод программы занимает больший объём, чем размер экрана.
Каждое устройство или программа, выполняющие функции терминала, имеет свои возможности по вводу и выводу информации. Примерами таких возможностей являются: число цветов отображения, способность перемещать курсор и изменять размер экрана, набор управляющих символов и т. п. При этом для операционной системы важна возможность работать с любыми терминалами одинаковым способом. Для этого в операционных системах семейства UNIX вводится понятие тип терминала: каждый тип сводится к набору возможностей, регламентированных в специальном конфигурационном файле. Информация о всех существующих типах терминалов хранится в специализированной базе данных (terminfo или termcap). Примерами типов являются: tty (телетайп) или xterm (графический терминал).
2.1.2. Одновременный доступ к системе
То, что UNIX — многопользовательская и многозадачная система, проявляется не только в разграничении прав доступа, но и в организации рабочего места: ничто не препятствует подключить к операционной системе произвольное число терминалов одновременно, в особенности, если функции терминала выполняет программа. Благодаря этому каждый компьютер, на котором работает UNIX, предоставляет возможность зарегистрироваться и получить доступ к системе с нескольких терминалов одновременно. Даже если в распоряжении всех пользователей есть только один монитор и одна системная клавиатура, эта возможность небесполезна: одновременная регистрация в системе на нескольких терминалах позволяет работать поочередно с несколькими задачами без необходимости каждый раз их завершать и затем возобновлять.
Характерный для современных версий UNIX способ организации параллельной работы пользователей — виртуальные консоли. Виртуальные консоли (virtual console) — это несколько параллельно выполняемых операционной системой программ, предоставляющих пользователю возможность зарегистрироваться в системе в текстовом режиме и получить доступ к командной строке
В операционной системе Linux переключение между виртуальными консолями в текстовом режиме производится с помощью комбинации клавиш Alt-F1, Alt-F2 и т. п. При этом каждая виртуальная консоль обозначается специальным именем: «tty1», «tty2» и т. д. По умолчанию в Linux доступно не менее шести виртуальных консолей, переключаться между которыми можно при помощи сочетания клавиши Alt с одной из функциональных клавиш (F1-F6). С каждым сочетанием связана соответствующая по номеру виртуальная консоль. Виртуальные консоли обозначаются «ttyN», где «N» — номер виртуальной консоли. На самом деле, каждая из таких конcолей связана с собственным терминалом, который характеризуется файлом устройства с соответствующим именем (например, /dev/tty1).
Также существует возможность запуска нескольких графических подсистем, тогда переключение между ними будет осуществляться аналогично переключению между виртуальными консолями — комбинацией клавиш Ctrl-Alt-F1.