Понятие терминала
Терминал - это экран и клавиатура, с помощью которых осуществляется связь с компьютером.
Терминалы бывают графические и текстовые. Графические терминалы могут работать и в графическом, и в текстовом режиме.
Терминал предназначен исключительно для ввода информации и ее отображения на экране. Терминалы бывают физическими (еще их называют реальными), виртуальными и псевдотерминалами (т.е. программами, которые "притворяются" терминалами).
Физический терминал - это устройство, состоящее из экрана и клавиатуры, обычно подключенное к компьютеру через последовательный интерфейс, например, с помощью кабеля или модема. Если вы соединяетесь с UNIX-машиной с помощью эмулятора терминала через модем своего компьютера, позвонив на другой модем, подключенный непосредственно к UNIX-машине, то с точки зрения UNIX вы работаете на физическом терминале. В этом случае связка модем - телефонная сеть - модем рассматривается как единый кабель.
В старых версиях Solaris неофициально поддерживались виртуальные терминалы. В версии 9 эта поддержка отсутствует. Основа виртуального терминала - это монитор и клавиатура, непосредственно подключенные к компьютеру. Однако, хотя монитор всего один, виртуальных терминалов может быть несколько. Вы можете по очереди работать с разными виртуальными терминалами, нажимая клавиши Alt-Fх, где х - номер терминала. С монитором и клавиатурой связано несколько независимых виртуальных терминалов. При работе в графическом режиме надо использовать клавиши Ctrl-Alt-Fn для переключения между виртуальными терминалами.
Виртуальные терминалы, как правило, текстовые, хотя один из них может быть графическим.
Виртуальные терминалы чаще всего используются в компьютерах на платформе i386, потому что терминалы, подключаемые к компьютерам на других платформах, обычно постоянно работают в графическом режиме, а в этом режиме вместо нескольких виртуальных терминалов проще открыть несколько окон эмуляторов терминала. Виртуальные терминалы широко используются в Linux и FreeBSD.
При работе с графическим терминалом для получения нескольких терминалов достаточно просто открыть несколько окон и в каждом из них запустить терминальную программу. Так, в Solaris можно запустить несколько приложений, обозначенных в меню CDE как "console". Программа, которая запускается при выборе приложения "console", называется dtconsole. Выбрав в меню "This host", вы запустите терминальную программу dtterm.
Консоль - это терминал, который используется для загрузки операционной системы.
Проще говоря, если системный администратор при загрузке использует некий терминал для наблюдения за процессом загрузки и (возможно) вмешательства в него, то этот терминал называется консолью. Для UNIX-систем консоль - это либо непосредственно подключенный к компьютеру монитор и клавиатура, либо подключенный к первому последовательному порту терминал. В приложении к виртуальным терминалам консолью является первый виртуальный терминал (Alt-F1).
Псевдотерминал - это программа-эмулятор терминала, которая соединяется с UNIX-компьютером через сеть или запускается в графическом режиме (например, dtterm).
Любой терминал (физический, виртуальный или псевдотерминал) может быть графическим. Эмулятор графического терминала базируется на программе X-Server. Подробнее об X-серверах и системе X-Window - в лекции 15 курса "Администрирование ОС Solaris".
Текстовые терминалы могут отображать только текст и псевдографику. Мы будем рассматривать значительную часть команд Solaris в предположении, что мы работаем с текстовым терминалом. В то же время, когда в Solaris доступна и полезна программа с графическим интерфейсом, которая часто нужна системному администратору в работе, мы будем рассматривать и такие случаи.
Существует большое количество разных текстовых терминалов. Наиболее известны терминалы ANSI и VT-100. Разные терминалы отличаются друг от друга управляющими последовательностями. Например, чтобы передать терминалу команду "поднять курсор на одну строку вверх", терминалу VT-100 нужно передать последовательность <Esc>[A. Описания терминалов (и соответствующих управляющих последовательностей) содержатся в файле /etc/termcap и базе данных в подкаталогах /usr/share/lib/terminfo.
Переменная среды окружения TERM должна иметь значение типа терминала, на котором вы работаете. Возможно, ее придется переопределить, если в начале вашей работы система неверно определила тип вашего терминала. Фактический тип вашего терминала может отличаться от того, что принят в системе по умолчанию. Переопределение выполняется путем присваивания переменной нужного значения:
TERM='VT100'; export TERM
Вывести на экран значение переменной TERM можно командой
echo $TERM
Если переменная TERM определена неверно, терминал будет вести себя непредсказуемо. Например, при нажатии Enter не произойдет перевода строки, или при нажатии стрелки "вверх" на экране появится [[A, а курсор вверх не сдвинется. Некоторые терминалы практически совместимы между собой, например, ANSI и VT-100. Однако отдельные управляющие последовательности могут не совпадать. Поэтому лучше, чтобы в TERM был записан тип именно того терминала, на котором вы работаете.
Ctrl-C | прерывание выполнения программы (termination) |
Ctrl-D | конец ввода текста |
Ctrl-S | остановка вывода на экран |
Ctrl-Q | продолжение вывода на экран |
Ctrl-U | стирание введенной строки |
Ctrl-Z | остановка выполнения программы (suspend) |
<backspace> | удаление последнего введенного символа |