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.
Что такое /dev/tty[0-N] на Linux
/dev/tty[0-N] – это просто виртуальная консоль, на которую вы можете переключиться с основного терминала, если вы работаете в системе с графическим интерфейсом, где N означает номер TTY.
По умолчанию виртуальной консолью является /dev/tty0.
Например, если вы используете графическую версию Ubuntu 22.04, запустите терминал и введите CTRL + ALT + F1, в результате чего откроется черный экран терминала.
Вывод покажет, что мы используем tty1, где 1 соответствует нажатой функциональной клавише.
tty1 – tty63 – это виртуальные терминалы, альтернативно известные как VTs или виртуальные консоли.
Как уже упоминалось, они имитируют несколько консолей поверх драйвера устройства физической консоли.
Как переключаться между TTY без использования функциональных клавиш в Linux
Что такое /dev/console на Linux
/dev/console называется системной консолью, на которую выводятся сообщения загрузки и ядра во время загрузки.
Как и другие файлы устройств Linux, он находится в каталоге /dev.
Вы можете убедиться в этом, выполнив следующую команду ls следующим образом.
$ ls -lah /dev/console
/dev/console существует в первую очередь для того, чтобы вывести консоль ядра в пространство пользователя.
Она показывает сообщения во время запуска системы (и выключения тоже), а также облегчает переход в однопользовательский режим с помощью команды init 1.
Заключение
Мы надеемся, что теперь вы можете понять, какие различия существуют между тремя файлами устройств, которые мы только что рассмотрели.
см. также: