linux终端设备tty console之前的区别

发布时间 2023-05-29 10:45:24作者: 往事已成昨天

Linux中/dev/tty、/dev/tty0和/dev/console之间的区别

入门小站
分享运维技巧及10k+Stars的开源项目
252篇原创内容

【Linux250个常用命令速查手册】关注【入门小站】,后台回复 「1001」 自取。

在Linux系统中,/dev/tty/dev/tty0/dev/console是一些特殊的设备文件,经常用于控制台和命令行界面的操作。这三个设备文件都表示电脑的终端设备,但它们在Linux系统中的作用略有不同。本文将介绍/dev/tty/dev/tty0/dev/console之间的区别。

/dev/tty

> ls -l tty
crw-rw-rw- 1 root tty 5, 0 May  8 09:32 tty

在Linux系统中,/dev/tty表示当前正在运行的进程所在的控制台终端设备。这个设备文件会动态地指向当前活动的控制台设备(比如tty1或tty2等等),所以/dev/tty可以被认为是一个“当前控制台的缩写”。通过/dev/tty,当前运行的进程可以向控制台设备进行输入和输出操作。

/dev/tty0

> ls -l tty0
crw-rw-rw- 1 root tty 5, 0 May  8 09:32 tty0

/dev/tty0表示Linux系统中GUI环境下的虚拟控制台终端设备。在Linux系统启动时,会为每个虚拟控制台设备创建一个设备文件,这些设备文件被分别命名为tty1、tty2、tty3等等。而/dev/tty0则是Linux系统中的图形化界面,类似于Windows操作系统中的桌面。当用户在Linux系统中打开一个虚拟控制台设备时,/dev/tty0会自动切换到新打开的虚拟终端。

/dev/console

> ls -l console 
crw------- 1 root root 5, 1 May  8 09:32 console

/dev/console是Linux系统中的系统控制台设备,通常只在系统启动时用到。当Linux系统启动时,内核会将所有输出信息都发送到该设备,以便管理员及时了解启动过程中可能遇到的问题。当Linux系统启动完成后,/dev/console就会停止输出信息,不再使用。如果需要查询系统启动过程中的日志信息,可以通过/var/log/messages文件或者journalctl命令进行查看。

在总体上来看,这三个设备文件都是用于控制台和终端设备的操作。其中,/dev/tty表示当前活动的控制台,/dev/tty0表示GUI环境下的虚拟控制台,而/dev/console则主要用于系统启动时输出信息。虽然它们的作用有所不同,但彼此之间有些细微的关联,特别是/dev/tty/dev/tty0之间的关系。

加入我的星球一起学习Ansible自动化运维快速入门25