转载于:

Linux中终端的概念:

    在使用Linux操作系统的过程中,我们可以通过终端(terminal)来输入命令和接收信息,用户如果想与计算机进行交互,就会使用到终端,所以说,显示器和键盘就是一种终端,我们接收显示器输出的信息,通过键盘向电脑输入信息,显示器和键盘是真实存在的物理设备,我们可以称之为物理终端。

   

    刚才提到物理终端,除了物理终端,还有虚拟终端、图形终端、模拟终端等终端类型。

    

    虚拟终端:虚拟终端是基于物理终端之上,以软件的方式虚拟实现的终端,虚拟终端称之为tty,我们可以在同一个物理终端上虚拟出多个虚拟终端,Centos6中默认有6个虚拟终端,我们使用Ctrl+Alt+Fx(f1、f2·····f6)快捷键在这6个虚拟终端之间切换,linux中一切接文件,这些虚拟终端抽象出来的文文件名称为 /dev/tty#  ,虚拟终端只能在物理主机上使用,如果通过远程工具远程到主机(比如通过xshell或者vnc远程过来),则无法通过快捷键切换切换到虚拟终端 。

    

    图形终端:图形终端属于上述虚拟终端的一种,所以它基于物理终端,以软件的方式虚拟出来,但是它同时会提供桌面环境,如果启动Centos6的时候使用图形化启动,看到图形化桌面后,按Ctrl+Alt+f2,就会切换到CentOS的第二个虚拟终端,这个虚拟终端是字符界面的虚拟终端,在第二个虚拟终端中,按Ctrl+Alt+f1,就会又回到图形化界面,这里的图形化界面和第二个虚拟终端都是我们说到的CentOS中自带的6个虚拟终端,只不过第一个虚拟终端是图形终端,同时也是虚拟终端 tty1。

    

    模拟终端:我们可以将模拟终端理解为一个程序,这个程序是一个终端模拟器,由终端模拟器模拟出的终端称之为模拟终端,也叫pts,图形化启动Centos6中,在桌面空白处右键,单机 Open in Ternimal,即可打开一个命令行窗口,这个命令窗口就是一个模拟终端。或者我们使用远程ssh程序倒开的命令行界面也是一个模拟终端,模拟终端的文件/dev/pts/#  。

终端相关的命令:

who命令

使用who命令,查看当前有多少终端连接到了服务器。   

1
2
3
4
5
[root@cos68 ~]
# who
root     tty2         2016-07-23 13:40
root     tty1         2016-07-23 13:34 (:0)
root     pts
/0        
2016-07-23 13:34 (:0.0)
root     pts
/1        
2016-07-23 14:38 (192.168.131.1)

从显示结果我们可以看到,四个终端都是root用户登录的,tty2就是我按Ctrl+Alt+f2调用的虚拟终端,tty1是系统启动后默认进入的图形化界面(图形终端),pts/0是我从图形化界面右键菜单中打开的模拟终端,pts/1是我通过xshell这种ssh工具打开的模拟终端。

不使用who命令,只键入w ,显示有哪些用户已经登录终端、登录时间以及在做什么等信息,信息比who命令返回的更详细。

1
2
3
4
5
6
[root@cos68 ~]
# w
 
17:27:40 up  3:54,  3 
users
,  load average: 0.59, 0.22, 0.10
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1     :0               13:34    3:53m 10.41s 10.41s 
/usr/bin/Xorg 
:0 -br -verbose -audit 4 -au
root     pts
/0    
:0.0             13:34   57:00   0.24s  0.24s 
/bin/bash
root     pts
/1    
192.168.131.1    14:38    0.00s  0.31s  0.06s w


who am i命令  或者 tty命令

使用who am i 命令查看当前使用的终端是哪一个终端

1
2
[root@cos68 ~]
# who am i
root     pts
/1        
2016-07-23 14:38 (192.168.131.1)

因为我再ssh工具中键入了who am i命令,所以,返回的结果显示,我当前使用的终端类型为pts类型,终端编号为pts/1 ,同时,还返回了这个终端的登录时间以及我的客户端IP。

使用tty命令也可以查看当前终端

1
2
[root@cos68 ~]
# tty
/dev/pts/1