🐧 Linux: В чем различия /dev/tty, /dev/tty0 и /dev/console

Linux/UNIX поддерживает файлы устройств, которые хранятся в каталоге /dev. Это не совсем файлы, скорее, это специальные файлы или символьные устройства, которые представляют аппаратные устройства, подключенные к системе. Одними из наиболее часто неправильно понимаемых файлов устройств являются /dev/console, /dev/tty и /dev/tty0.

В этом руководстве мы рассмотрим нюансы, которые отличают эти три файла устройств.

Что такое /dev/tty на  Linux

“tty” – это сокращение от TeleTYpewriter.

Его происхождение связано с ранними терминалами, которые использовались для подключения к компьютерам в качестве телепринтеров или телетайпов.

Файл /dev/tty – это специальный файл, представляющий терминал для текущего процесса, который отображает терминал, связанный с текущим сеансом SSH.

Чтобы проверить, какой tty вы используете в данный момент, выполните следующую команду:

$ tty

или

$ who am i

Вывод показывает, что текущим tty является /dev/pts/0.

Это означает Pseudo Terminal Slave и является терминальным устройством, эмулируемым соединениями SSH или другими программами, такими как xterm или screen.

Эмуляторы терминала Linux

Что такое /dev/tty[0-N] на Linux

/dev/tty[0-N] – это просто виртуальная консоль, на которую вы можете переключиться с основного терминала, если вы работаете в системе с графическим интерфейсом, где N означает номер TTY.

По умолчанию виртуальной консолью является /dev/tty0.

Например, если вы используете графическую версию Ubuntu 22.04, запустите терминал и введите CTRL + ALT + F1, в результате чего откроется черный экран терминала.

Вывод покажет, что мы используем tty1, где 1 соответствует нажатой функциональной клавише.

tty1 – tty63 – это виртуальные терминалы, альтернативно известные как VTs или виртуальные консоли.

Как уже упоминалось, они имитируют несколько консолей поверх драйвера устройства физической консоли.

Что такое /dev/console на Linux

/dev/console называется системной консолью, на которую выводятся сообщения загрузки и ядра во время загрузки.

Как и другие файлы устройств Linux, он находится в каталоге /dev.

Вы можете убедиться в этом, выполнив следующую команду ls следующим образом.

 $ ls -lah /dev/console

/dev/console существует в первую очередь для того, чтобы вывести консоль ядра в пространство пользователя.

Она показывает сообщения во время запуска системы (и выключения тоже), а также облегчает переход в одно-пользовательский режим с помощью команды init 1.

Мы надеемся, что теперь вы можете понять, какие различия существуют между тремя файлами устройств, которые мы только что рассмотрели.

Друзья помогите этому контенту стать доступнее в социальных сетях.

Не проходи мимо жмакни по кнопке возможно кому то еще он будет полезен!