转载于:
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 |