linux中who命令显示的tty、pts和(:0)(:0.0)是什么意思

时间:2022-02-08 16:40:29
基本概念:

  1. tty(终端设备的统称):

  tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫终端比较合适。

  终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。

  2. pty(虚拟终端):

  但是如果我们远程telnet到主机或使用xterm时不也需要一个终端交互么?是的,这就是虚拟终端pty(pseudo-tty)

  3. pts/ptmx(pts/ptmx结合使用,进而实现pty):

  pts(pseudo-terminal slave)是pty的实现方法,与ptmx(pseudo-terminal master)配合使用实现pty。

以上转自http://hi.baidu.com/sicceer/blog/item/a52dce195e03c575dab4bdcc.html点击打开链接


在Ubuntu10.04及11.04中实验证明

使用ssh登录后,且Ubuntu系统上不存在其他已登录用户时,执行who命令返回

dXXX  pts/0        2011-11-18 09:50 (192.168.75.1)   ——  用户名   虚拟终端号   系统时间(远程连接地址)

当登录gnome界面后,执行who命令返回

yYYY     tty8         2011-11-18 09:47 (:0)   ——  用户名   终端设备名称   系统时间(X端口号)
dXXX  pts/0        2011-11-18 09:50 (192.168.75.1)
当在gnome界面上打开一个终端窗口后,执行who命令返回
yYYY     tty8         2011-11-18 09:47 (:0)
dXXX  pts/0        2011-11-18 09:50 (192.168.75.1)
yYYY     pts/1        2011-11-18 10:06 (:0.0)   ——  用户名   虚拟终端号   系统时间(X端口号.0)

再打开一个新的终端窗口后,执行who命令返回

yYYY     tty8         2011-11-18 09:47 (:0)
dXXX  pts/0        2011-11-18 09:50 (192.168.75.1)
yYYY     pts/1        2011-11-18 10:37 (:0.0)
yYYY     pts/2        2011-11-18 10:37 (:0.0)   ——  用户名   虚拟终端号   系统时间(X端口号.0)

即无论是在gnome界面上打开终端窗口或新开ssh连接,who命令返回的虚拟终端号都会不断增加。打开20的虚拟终端后也是如此。


退出gnome,在kde界面上进行实验时,打开多个虚拟终端,执行who命令均只返回

dXXX  tty8         2011-11-18 09:51 (:0)   ——  用户名   终端设备名称   系统时间(X端口号)
dXXX  pts/0        2011-11-18 09:51 (:0)   ——  用户名   虚拟终端号   系统时间(X端口号)

这时在使用ssh登录该Ubuntu系统,,执行who命令返回

dXXX  tty8         2011-11-18 09:51 (:0)
dXXX  pts/0        2011-11-18 09:51 (:0)
dXXX  pts/2        2011-11-18 10:55 (192.168.75.1)   ——  用户名   虚拟终端号   系统时间(X端口号)

即kde与gnome的终端实现有所不同,在kde窗口不断打开新的终端也不会增加虚拟终端号。