Терминал — это интерфейс, через который вы вводите загадочные команды Linux. Но действительно ли терминал — это просто окно с командной строкой на вашем рабочем столе Linux? На самом деле, терминал, который вы используете в данный момент, скорее всего, не является истинным терминалом. В данной статье я расскажу о настоящем значении терминала и консоли в Linux. Понимание этой основы имеет большое значение для успешного освоения системы Linux.
Содержание статьи
- 1 Терминал представляет собой средство взаимодействия между пользователем и компьютером.
- 2 Первый пункт прибытия
- 3 Текстовый интерфейс против графического интерфейса
- 4 Терминальные эмуляторы для Linux
- 5 Консоль — это устройство или программа, позволяющая взаимодействовать с компьютером через текстовые команды.
- 6 Цифровая консоль
- 7 Что представляет собой Shell?
- 8 Удалённость между терминалом и хостом.
- 9 Заключение
Терминал представляет собой средство взаимодействия между пользователем и компьютером.
Термин «терминал» обладает множеством значений. Словарь Merriam-Webster предлагает четкое определение этого слова в контексте компьютерных технологий:
комбинация клавиатуры и устройства отображения (например, монитора), позволяющая вводить информацию в компьютер или получать её из него или из системы электронных коммуникаций.
Человек и компьютер представляют собой две самостоятельные сущности. Для взаимодействия с компьютером человеку требуется интерфейс, который позволяет вводить данные и получать результаты. Современные устройства ввода для персональных компьютеров включают клавиатуру, мышь и микрофон, в то время как устройства вывода — монитор и динамик. Эти устройства обычно называют периферийными. Однако в среде Unix и Linux устройства ввода и вывода объединяются под термином «терминал». Противоположностью терминала выступает хост, который включает такие компоненты, как центральный процессор, оперативная память, жесткий диск и так далее.
Таким образом, у нас имеется пара уравнений.
Компьютер = Хост + Терминал Терминал = Устройство ввода + Устройство вывода
Первый пункт прибытия
Персональные компьютеры начали активно внедряться в обыденность в конце 1970-х годов. Ранее пользователи имели доступ лишь к дорогостоящим мэйнфреймам и миникомпьютерам, которые находились в крупных корпорациях или учебных заведениях. Например, миникомпьютер PDP-7, на котором работали Кен Томпсон и Деннис Ритчи — основатели Unix, стоил 72 000 долларов в 1965 году, а мэйнфрейм GE-45 обходился в целых 10 миллионов долларов.
Кен Томпсон и Деннис Ритчи стремились создать Unix как многопользовательскую операционную систему, подразумевающую, что каждый пользователь сможет подключаться к компьютеру через терминал. Для этого каждому пользователю требовались монитор и клавиатура. Однако в те времена все компьютерные устройства, включая мониторы, были весьма дорогими. Кроме того, клавиатуры были непосредственно подключены к компьютерам, так как съемные клавиатуры в тот период еще не существовали.
Таким образом, было принято решение о применении недорогого телетайпа ASR33 в роли терминала. Этот телетайп (TTY) изначально предназначался для передачи и приема текстовых сообщений в телеграфии, однако его также можно было адаптировать для ввода данных в компьютер и получения информации из него. Для ввода данных использовалась клавиатура, а результаты выводились на бумаге.

Несколько телетайпов были подключены к единому компьютеру, работающему на Unix. Каждый пользователь имел возможность войти в систему, используя своё имя и пароль, сидя за своим телетайпом. Таким образом, Unix стал первой операционной системой, поддерживающей многопользовательский режим, а ASR33 — первым терминалом для Unix. По этой причине акроним TTY часто используется для обозначения терминала в системах Unix/Linux.
Со временем терминалы развивались и становились все более современными. В 1970 году фирма DEC (Digital Equipment Corporation) выпустила видеотерминал VT05, оснащенный экраном для отображения информации.

Видеотерминал VT05
Текстовый интерфейс против графического интерфейса
Текстовый терминал, или символьный терминал, способен отображать только текстовую информацию. Телетайпы относятся к этой категории терминалов. Наиболее известным текстовым терминалом является VT100, разработанный компанией DEC в 1978 году. Его продуманная конструкция сделала его эталоном для будущих терминалов.
Графический терминал обладает преимуществами, поскольку способен выводить графику и изображения на дисплей. Наиболее известным из таких терминалов является X Terminal, который предоставлял основную поддержку для системы X Window.
Терминальные эмуляторы для Linux
Теперь вам известно, что терминал представляет собой аппаратное устройство. В 1970-х и 1980-х годах пользователи вводили команды, используя физический терминал. Сегодня мы часто выполняем команды в программном терминале, который чаще называют эмулятором терминала или приложением для его эмуляции. Иногда их называют виртуальными терминалами. Хотя они не являются физическими устройствами, операционная система воспринимает их как настоящие.
Если вы пользуетесь терминалом Gnome, вы можете ввести следующую команду для просмотра руководства по gnome-terminal.
man gnome-terminal
gnome-terminal представляет собой приложение для эмуляции терминала, воспроизводящее функции Xterm.

Xterm — это эмулятор терминала, который воспроизводит работу терминала VT102 от компании DEC. На сегодняшний день Xterm по-прежнему доступен в большинстве Linux-дистрибутивов.
Консоль — это устройство или программа, позволяющая взаимодействовать с компьютером через текстовые команды.
В 1970-х и 1980-х годах терминалы обычно подключались к хосту проводным способом, однако существует особый тип терминала, который напрямую связан с хостом — его называют консолью. Консоль предназначена исключительно для администраторов, и на каждом компьютере может быть только одна такая консоль. Внешне она практически не отличается от обычного терминала, но обладает уникальными функциями, недоступными другим терминалам. Например, в случае неудачной загрузки операционной системы сообщение об ошибке отобразится именно на консоли, а не на остальных терминалах. Если система загружается в однопользовательском режиме, доступ можно получить только через консоль, так как другим терминалам этот доступ запрещён.
Миникомпьютерная консоль PDP-7
Консоль и терминал часто считаются аналогичными понятиями на ПК. Ваш экран и клавиатура выступают в роли консоли и терминала. В любой момент можно переключаться между обычным пользователем и администратором.
Цифровая консоль
Существует два вида эмуляторов терминала. Первый — это терминальное окно, которое открывается в графической среде. Второй — виртуальная консоль. В 1970-х и 1980-х годах большинство пользователей имели доступ лишь к одному терминалу. Лица, занимающие важные должности в компаниях или университетах, могли использовать несколько терминалов, поскольку им требовалось выполнять множество задач с операционной системой. Поэтому на их рабочих столах часто находилось несколько терминальных устройств.
В современное время нет необходимости устанавливать несколько терминалов на рабочем столе, так как Linux способен создавать множество виртуальных терминалов. Среди них один является графическим, а остальные шесть — символьными. Эти 7 виртуальных терминалов чаще всего называют виртуальными консолями, и они используют одну клавиатуру и монитор. Физическая консоль представляет собой сочетание вашего монитора и клавиатуры. При загрузке Linux создаются 7 виртуальных консолей, и по умолчанию система переводит вас в графическую консоль, то есть в настольную среду. Чтобы выяснить, какая виртуальная консоль используется, можно ввести команду who.
Как видно, я работаю с 7-й виртуальной консолью (tty 7). Если нужно переключиться на текстовую виртуальную консоль, достаточно нажать Ctrl+Alt+F1, или Ctrl+Alt+F2… до Ctrl+Alt+F6. Для возврата к графической виртуальной консоли нажмите Ctrl+Alt+F7.
Когда стоит использовать виртуальную консоль? В случае, если ваша настольная среда перестала реагировать или исчезли значки и панель задач, вы можете перейти на символьную виртуальную консоль и ввести необходимые команды для диагностики ситуации.
Обратите внимание: в системе Fedora tty1 по умолчанию используется в качестве графической виртуальной консоли.
Что представляет собой Shell?
Терминал представляет собой устройство для передачи данных. Однако для того чтобы операционная система могла интерпретировать информацию, необходим shell. В Linux shell — это программа, которая расшифровывает команды, вводимые в терминальном окне, позволяя операционной системе понять ваши намерения.
Существует большое количество оболочек для командной строки, включая Bash, Zsh, Csh и Ksh. На большинстве дистрибутивов Linux оболочка Bash используется по умолчанию. При открытии терминала она запускается автоматически. Чтобы узнать, какая оболочка активна в данный момент, выполните следующую команду.
echo $0
Удалённость между терминалом и хостом.
Терминалы могут быть напрямую соединены с хостом на ноутбуке. Также они могут подключаться к хосту с помощью кабеля, аналогично настольным компьютерам. На практике терминалы способны подключаться к хосту через сеть. Например, если у вас есть два компьютера в локальной сети, один из которых работает под управлением Linux, вы можете использовать другой компьютер для доступа к Linux-системе через SSH или VNC. В этом случае Linux-компьютер будет выступать в роли хоста, а другой компьютер — терминала.
Виртуальный частный сервер (VPS), расположенный в дата-центре, не оборудован собственным терминалом, таким как клавиатура или монитор. Системы без терминалов принято называть безголовыми. Если у вас имеется VPS в дата-центре, вы можете воспользоваться SSH для удаленного подключения, в результате чего ваш локальный компьютер станет терминалом для VPS.
Заключение
Надеюсь, что данная статья помогла вам лучше разобраться в терминалах, консолях и оболочках в Linux. Если вы считаете этот материал полезным, не забудьте подписаться на нашу бесплатную рассылку, чтобы получать больше советов и рекомендаций.

