Linux终端和伪终端简述

本文简述Linux各种类型终端的区别以及如何用命令查看终端类型

在刚开始学习Linux时,对物理终端、虚拟终端以及为终端的概念非常困惑,此文是我在学习过马哥培训王老师远程课程后对这些概念的理解。

  1. 物理终端:直接连接在主机上的显示器、键盘鼠标统称。在实际机架式服务器部署中,一般是多台服务器共享一套终端,简称KVM(Keyboard键盘,video显示器,mouse鼠标)
  2. 虚拟终端(tty):附加在物理终端之上,用软件方式虚拟实现,CentOS默认启用6个虚拟终端,可以通过快捷键来切换,切换方式:Ctrl-Alt-F[1–6], 对应的文件是/dev/tty#。可以同过tty命令来查看当前的虚拟终端号。tty是teletypewriter的简称。
  3. 伪终端(pty):两种应用场景,第一在图形界面下打开的命令行接口,第二基于ssh协议或telnet协议等远程打开的命令行界面,是运维工程师用的最多的一种连接服务器的方式。pts(pseudo-terminal slave)是pty的实现方法。

下面以虚拟机为例子用命令查看登录的终端类型以及具体的终端代号。具体的命令tty, who, w, 其中tty只显示本终端的类型和终端号:

root@centos7 dev#]tty

/dev/pts/3

显示为代号为3的伪终端

root@centos7 dev#]tty

/dev/tty4

显示为代号为4的虚拟终端

root@centos7 ~#]who

vmx      :0           2018-03-26 19:07 (:0)

vmx      pts/0        2018-03-26 19:07 (:0)

vmx      pts/1        2018-03-26 19:40 (192.168.73.1)

vmx      pts/2        2018-03-26 19:17 (192.168.73.1)

root     tty3         2018-03-26 19:18

root     tty2         2018-03-26 19:23

root     tty4         2018-03-26 19:23

root     tty5         2018-03-26 19:23

root     tty6         2018-03-26 19:23

root     pts/3        2018-03-26 19:41 (192.168.73.1)

 

:0 代表图形界面登录

在如上例子中,一共有5个虚拟终端4个伪终端登录。

 

[root@centos7 profile.d#]w

 

USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT

vmx      :0       :0               19:07   ?xdm?   1:12   0.06s /bin/sh /usr/bin/startkde

vmx      pts/0    :0               19:07    1:31m  0.00s  1.47s kdeinit4: kded4 [kdeinit]

vmx      pts/1    192.168.73.1     19:40    7.00s  0.17s  0.24s sshd: vmx [priv]

vmx      pts/2    192.168.73.1     19:17    2:15   0.17s  0.26s sshd: vmx [priv]

root     tty3                      19:18    1:14m  0.06s  0.06s -bash

root     tty2                      19:23    1:14m  0.13s  0.13s -bash

root     tty4                      19:23    4:15   0.05s  0.05s -bash

root     tty5                      19:23    1:14m  0.03s  0.03s -bash

root     tty6                      19:23   10:39   0.04s  0.04s -bash

root     pts/3    192.168.73.1     19:41    9.00s  0.34s  0.01s vi anaconda-ks.cfg

 

相比who命令,w命令更详细,包括登录时刻,空闲时间(具体指虽然连接保持,但是没有指令在执行),同时能显示具体执行的指令,如伪终端pts/3是来自IP为192.168.73.1的远程连接,正在执行vi anaconda-ks.cfg的操作。

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/93207

评论列表(0条)

  • M30_18_GaoYuan
    M30_GaoYuan 2018-03-26 21:03

    大叔写的非常好!!!

联系我们

400-080-6560

在线咨询

工作时间:周一至周五,9:30-18:30,节假日同时也值班

QR code