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

(5)
Evan LiangEvan Liang
上一篇 2018-03-26 20:56
下一篇 2018-03-26 20:58

相关推荐

  • rpm与yum的简单命令

                                  …

    Linux干货 2017-04-18
  • Tomcat 性能优化-1

    <Connector  port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75&…

    Linux干货 2016-09-19
  • Linux获取帮助的途径、history命令及文件系统结构

        在学习Linux的过程中,往往会遇到一些难以理解的问,这时我们就需要寻求帮助,下面是获取帮助的几个途径。 一、man(manual)手册(命令) 1、man手册介绍 (1)man手册是系统自带的联机帮助手册,善于利用man命令,可以帮我们解决遇到的大部分问题。 (2)man手册分为九个章节,每个章节是独立的。 章节1:表…

    Linux干货 2016-07-29
  • 文件系统

    文件系统 文件和目录被组织成一个单根倒置树结构 文件系统从根目录下开始,用“/”表示 文件名称区分大小写 以.开头的文件为隐藏文件   一个.表示本目录。 两个..表示根目录 路径分隔的/      路径分割为正斜线分割 文件有两类数据:        元数据:metadata …

    Linux干货 2017-05-02
  • 为大家准备了几道简单的小题,不知道看过这篇文章后能否做出来?(考验你能力的时候到了,接招吧。。。) 1、将0-9分别替代成a-j 2、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中 3、计算1+2+3+..+99+100的值 4、处理字符串“xt.,l 1 jr#!$mn2 c*/fe 3 uz 4”,只保留其中的数字…

    2017-07-22

评论列表(1条)

  • M30_GaoYuan
    M30_GaoYuan 2018-03-26 21:03

    大叔写的非常好!!!