铁雪资源网 Design By www.gsvan.com

Linux系统中的终端基本都在/dev目录下,可分为文本命令行模式和图形界面模式。Windows系统中的图形界面是在系统内核空间中的,而Linux系统中的图形界面是作为一个应用程序调用的,所以windows系统中的图形界面是开机启动的,而Linux系统中的图形界面是可以开机不启动的,因为它相当于是一个运行在Linux系统上的一个应用程序而已。

CentOS及RedHat中可通过修改/etc/inittab文件中的id:3:initdefault来更改启动项。如果id是3则启动的是文本命令终端模式,将3改为5则会默认启动图形界面(即Xwindow)模式。inittab是不可执行的文本文件,会在Linux完成内核引导后,被init初始化进程调用,是一个配置文件。文件中id的格式为:id:run-level:action:process,各项之间用冒号隔开,其中某些部分可为空,我的Centos6系统中的inittab文件就只有其中的前面3项,process为空。id标识符唯一,在配置文件中不能重复。run-level指定系统运行级别,通过vi /etc/inittab查看该文件时可看到下图所示的解释:

CentOS终端类型及相互转换方式详解

一共分为7个级别(0~6):

0-     halt,即关机,所以在关机的时候也可通过init 0指令来执行,不过这是直接关机,不会提示,建议多用户使用时不要这样用。

1-     单用户模式。单用户模式只有系统管理员进入,管理员可以在这个模式下处理在有登陆用户情况下不能更改的文件。编号1也可以用s代替。

2-     不具备网络文件系统功能的多用户文本命令行模式。用的比较少。

3-     具备网络文件系统功能的多用户文本命令行模式。是最常用的运行模式,也是多数服务器的缺省模式。

4-     保留不用。

5-     具备网络功能的Xwindow模式,初学者可将其设置为缺省模式,系统初始化时直接进入图形化界面,操作比较方便,适合初学者,但是对于常用Linux的用户来说这并不是一个很好的选择,还是应该使用3的模式。

6-     关闭所有运行的进程并重新启动系统。

Action是执行运行的动作,initdefault是系统启动后进入的执行等级,该行不需要指定process。

如果模式启动的是run-level为3的文本命令行模式,可以在登陆后指令startx命令切换到5的Xwindow模式,使用startx -- :1开启第二个Xwindow。在Xwindow模式下可通过Ctrl+Alt+(F1~F6)再回到命令行模式。F1~F6表示6个控制台。startx只可以在没有启动过xwindow时使用,如果已经启动过xwindow,然后回到命令行模式,这时如果还想回到已经启动过的xwindow则不能使用startx,需要使用Ctrl+Alt+F7/F8,这代表两个xwindow控制台。在命令行控制台间相互切换可通过Alt+Fn,例如从命令行控制台1切换到控制台5,则可执行Alt+F5。在真机下这些命令都可正常执行,但是如果是在VM虚拟机中的Linux系统,则会出现问题,因为Ctrl+Alt已经被VM用作了快捷键,所以会冲突。这时可通过Ctrl+Alt+Shift+Fn切换,如果这还不行,则可按住Ctrl+Alt,然后按下Space键,然后放开Space键,再按Fn键即可完成切换,我在我的VM虚拟机的Centos6系统中实验过,能正常切换。

Linux系统中,/dev/ttyn表示控制台终端,即上面所说的文本命令行终端,可通过Alt+Fn相互切换的。当在控制台登陆时,使用的是tty1,这时用who指令可查看到tty1已有用户登陆:

CentOS终端类型及相互转换方式详解

此时再打开一个文本控制台终端并登陆,就会有tty2被使用,依次类推,tty一般可支持6个,及tty1~tty6。tty0代表当前所使用的虚拟终端,系统所产生的信息会发送到这个终端上,相当于是当前所使用终端的一个别名,例如如果当前正在使用tty3,则tty0代表tty3。只有root用户能向/dev/tty0进行写操作。例如可通过ech0 “test” > /dev/tty0向当前使用的终端发送test消息,但是如果不是root用户会提示permission denied。

上面的图中还有3个pts终端,在我的机器上,pts/0和pts/2是两个xwindow控制台,pts/1是通过SSH登录的Xshell终端。此时通过ls /dev/pts查看会出现以下信息:

CentOS终端类型及相互转换方式详解

pts是pty的实现方法,与ptmx配合使用实现pty,而pty就是虚拟终端,即伪终端。Pty是成对的逻辑终端设备,即master和slave设备,对master的操作会反映在slave上。他们与实际物理设备并不直接相关。如果一个程序把ptyp3(master设备)看作是一个串行端口设备,则它对该端口的读/ 写操作会反映在该逻辑终端设备对应的另一个ttyp3(slave设备)上面。而ttyp3则是另一个程序用于读写操作的逻辑设备。

Linux下还有一个终端叫串口终端,即/dev/ttySn。这些终端是使用计算机串行端口连接的终端设备,对应于DOS系统下的COM1~COMn。例如,执行echo test > /dev/ttyS1会把单词test发送到连接在ttyS1端口的设备上。

最后,可通过执行skill -9 xxx清除xxx控制台的所有进程。例如:skill -9 /dev/pts/0则会清除第一个xwindow控制台的所有进程。

标签:
CentOS,终端类型,相互转换

铁雪资源网 Design By www.gsvan.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
铁雪资源网 Design By www.gsvan.com

评论“CentOS终端类型及相互转换方式详解”

暂无CentOS终端类型及相互转换方式详解的评论...

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?