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
下一篇 2018-03-26

相关推荐

  • Linux 救援模式初步运用详解

    Linux救援模式初步运用 背景: 在运用Linux时会出现一些误操作,导致系统无法正常使用,比如删除了某个重要依赖库,或者删除了rpm等等。在这里记录下具体的操作步骤,供以后参考。 意义: 学会在使用Linux系统出现误删除系统重要文件时,能使用救援模式来恢复系统。 案例详解: 当我们删除了Linux系统重要库文件时,该如何恢复,比如在这里我们删除/lib…

    2017-07-29
  • 马哥教育网络班22期-第6周博客作业

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; [root@centos6 ~]# cp /etc/rc.d/rc.sysinit /tmp/ [root@centos6 ~]# sed -…

    Linux干货 2016-12-05
  • 马哥教育网络班22期第一周课程练习2-未闻花名

    语法:export [-fnp][变量名称]=[变量设置值] 补充说明:在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该此登陆操作。 参数: -f 代表[变量名称]中为函数名称。 -n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。 -p…

    Linux干货 2016-08-15
  • vsftpd虚拟用户搭建

    vsftpd虚拟用户搭建 1.安装vsftpd等一系列的安装包 yum install vsftpd mariadb-server mariadb-devel pam-devel -y 2.安装pam_mysql 下载:pam_mysql-0.7RC1.tar.gz wget -c ftp://172.16.0.1/pub/Sources/sources/p…

    Linux干货 2017-06-06
  • Linux常用命令及bash特性(1)

    马哥教育网络班22期第二周课程练习 Linux简单使用(1) Linux常用命令介绍 linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心。 linux命令在系统中有两种类型:内置Shell命令和Linux命令。可以使用help、…

    Linux干货 2016-08-29
  • exit和退出码

    用途说明 exit命令用于退出当前shell,在shell脚本中可以终止当前脚本执行。   常用参数 格式:exitn 退出。设置退出码为n。(Causethe shell to exit with a status of n.)   格式:exit 退出。退出码不变,即为最后一个命令的退出码。(Ifn is omitted, the e…

    Linux干货 2016-01-14

评论列表(1条)

  • M30_GaoYuan
    M30_GaoYuan 2018-03-26 21:03

    大叔写的非常好!!!