linux下tty详解

基本概念:

tty(终端设备的统称):
在UNIX系统中,计算机显示器通常被称为控制台终端(Console)。它仿真了类型为Linux的一种终端(TERM=Linux),并且有一些设备特殊文件与之相关联:tty0、tty1、tty2等。这些文件赋予了linux同时处理多任务,多窗口切换的能力。

我们通常在linux下看到的控制台一般是/dev/ttyN,用户可以使用alt+Fn切换控制台,看起来感觉存在多个屏幕。
这种虚拟控制台对应tty1~n,(ssh就是这样,当你通过ssh登录一台服务器以后,就会在/dev/pts/下生成一个控制台设备文件,对应ttyN,通常情况下,1<=n<=63)其中 :
tty0就是/dev/console,/dev/console指向当前虚拟终端。

/dev/tty1等代表第一个虚拟控制台

例如当使用ALT+F2进行切换时,系统的虚拟控制台为/dev/tty2 ,当前控制台(/dev/tty)则指向/dev/tty2

你可以登录到不同的虚拟控制台上去,因而可以让系统同时有几个不同的会话存在。

而比较特殊的是/dev/tty0,他代表当前虚拟控制台,是当前所使用虚拟控制台的一个别名。因此不管当前正在使用哪个虚拟控制台(注意:这里是虚拟控制台,不包括伪终端),系统信息都会发送到/dev/tty0上。只有系统或超级用户root可以向/dev/tty0进行写操作。tty0是系统自动打开的,但不用于用户登录。
查看我当前tty:

~  » tty
/dev/pts/4

现在我们在打开一个终端:

~  » tty
/dev/pts/5

你会发现/dev/pts/下多了一个文件,这就是我们当前终端的控制台
你可以使用echo "sb" > /dev/pts/4给上一个终端发一句sb。
你还可以使用ps -ef | grep pts/4查看tty4终端运行的进程,以及pid,找到了pid,你就可以用kill,结束tty4终端上的服务。

或者使用w命令查看登录用户正在使用的进程信息。

文章目录
  1. 1. 基本概念: