关于终端和控制台的一些解释

上传人:woxinch****an2018 文档编号:38634111 上传时间:2018-05-05 格式:DOC 页数:9 大小:54KB
返回 下载 相关 举报
关于终端和控制台的一些解释_第1页
第1页 / 共9页
关于终端和控制台的一些解释_第2页
第2页 / 共9页
关于终端和控制台的一些解释_第3页
第3页 / 共9页
关于终端和控制台的一些解释_第4页
第4页 / 共9页
关于终端和控制台的一些解释_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《关于终端和控制台的一些解释》由会员分享,可在线阅读,更多相关《关于终端和控制台的一些解释(9页珍藏版)》请在金锄头文库上搜索。

1、关于终端和控制台的一些解释关于终端和控制台的一些解释今天看到有人问终端和控制台的区别,而且这个问题比较有普遍性,因此想抽出一点时间 来解释一下这两个术语的区别。终端,英文叫做 terminal ,通常简称为 term ,比如我们在 X 下的 xterm. 控制台,英文叫做 console。 要明白这两者的关系,还得从以前的多人使用的计算机开始。 大家都知道,最初的计算机由于价格昂贵,因此,一台计算机一般是由多个人同时使 用的。在这种情况下一台计算机需要连接上许多套键盘和显示器来供多个人使用。在以前 专门有这种可以连上一台电脑的设备,只有显示器和键盘,还有简单的处理电路,本身不 具有处理计算机信

2、息的能力,他是负责连接到一台正常的计算机上(通常是通过串口) , 然后登陆计算机,并对该计算机进行操作。当然,那时候的计算机操作系统都是多任务多 用户的操作系统。这样一台只有显示器和键盘能够通过串口连接到计算机的设备就叫做终 端。 而控制台又是什么回事呢? 学机电的人应该知道,一台机床,或者数控设备的控制箱, 通常会被称为控制台,顾名思义,控制台就是一个直接控制设备的台面(一个面板,上面 有很多控制按钮) 。 在计算机里,把那套直接连接在电脑上的键盘和显示器就叫做控制台。 请注意它和终端的区别,终端是通过串口连接上的,不是计算机本身就有的设备,而控制 台是计算机本身就有的设备,一个计算机只有一

3、个控制台。计算机启动的时候,所有的信 息都会显示到控制台上,而不会显示到终端上。也就是说,控制台是计算机的基本设备, 而终端是附加设备。 当然,由于控制台也有终端一样的功能,控制台有时候也被模糊的统 称为终端。 计算机操作系统中,与终端不相关的信息,比如内核消息,后台服务消息,都 可以显示到控制台上,但不会显示到终端上。 以上是控制台和终端的历史遗留区别。现在由于计算机硬件越来越便宜,通常都是一 个人独占一台计算机超做,不再连接以前那种真正意义上的“终端设备了”,因此,终端和 控制台的概念也慢慢演化了。终端和控制台由硬件的概念,演化成了软件的概念。 现在说的终端,比如 linux 中的虚拟终端

4、,都是软件的概念,他用计算机的软件来模 拟以前硬件的方式。比如在 linux 中,你用 alt+f1 f6 可以切换六个虚拟终端,就好比是 以前多人公用的计算机中的六个终端设备,这就是为什么这个叫“虚拟终端”的原因。当然, 现在的 linux 也可以通过串口线,连接一个真正的终端,现在这种终端设备已经非常罕见 了,但是还存在,只是一般人很难见到。也有人利用以前的老电脑(386,486)装上一个 串口通信软件,连上一台计算机,来模拟一个终端来用。这样可以达到一台电脑多人使用 的目的。 简单的说,能直接显示系统消息的那个终端称为控制台,其他的则称为终端。但是在 linux 系统中,这个概念也已经模

5、糊化了。 比如下面这条命令: echo “hello,world“ /dev/console 这条命令的目的是将“hello,world“显示到控制台上/dev/console 是控制台设备的设备名。 在 linux 中,在字符模式下,你无论在哪个虚拟终端下执行这条命令,字符 hello,world 都 会显示在当前的虚拟终端下。也就是说,linux 把当前的终端当作控制台来看待。可见, linux 中已经完全淡化了控制台和终端的区别。但是在其他的 UNIX 类系统中,却很明显的 有虚拟终端和控制台的区别。比如 freeBSD 系统。 在 freebsd 中,只有第一个“终端”才是真正的控制台

6、。 (就是说按 alt+f1 得到的那个虚 拟终端) ,你无论在哪个虚拟终端上执行上面的那条命令(哪怕是通过网络连接的伪终端 上执行这条命令) 。hello,world 字符总会显示到第一个“终端”也就是真正的控制台上。另外, 其他的一些系统内部信息,比如哪个用户在哪个终端登陆,系统有何严重错误警告等信息, 全都显示在这个真正的控制台上。在这里,就明显的区分了终端和控制台的概念。其他 UNIX 中也是这样的。比如 Tru64 unix 在 X 下有一个控制台模拟软件,你无论在哪里输入 echo “hello,world“ /dev/console 命令,hello,world 总会显示在这个控

7、制台模拟器中。 我 们在 X 界面下用的那些输入命令的软件,比如 xterm ,rxvt, gnome-terminal 等等,都应该 被称为终端模拟软件。请注意它和控制台模拟软件的区别。linux 中好象没有控制台模拟软 件。在 X 中的终端模拟软件中输入的 echo “hello,world“/dev/console 命令的输出信息, 都会输出到启动该 X 服务器的虚拟终端上。比如,你用字符方式登陆系统。进入第一个虚 拟终端,然后 startx 启动 X 服务器。再打开 xterm 来输入 echo “hello,world“/dev/console 命令,那么字符串 hello,worl

8、d 就显示在第一个虚拟终端上。你 按 ctrl+alt+f1,回到那个启动 X 服务器的终端,就可以看到 hello,world 字符串。 现在该明白终端和控制台的区别了吧。再简单的说,控制台是直接和计算机相连接的 原生设备,终端是通过电缆、网络等等和主机连接的设备。 在以前的硬件终端设备中,由于生产厂家不同,所遵循的标准不同,因此有不同的型 号标准。比如 vt100 等。这里的 vt100 就是一个标准,那么现在我们所说的终端,往往不 是真正的硬件终端了,而是终端模拟软件了,因此不同的终端模拟软件可能符合不同的标 准,还有一些终端模拟软件符合很多种不同终端的标准。比如 gnome 的终端模拟

9、软件 gnome-terminal,他提供好几中标准可供用户选择。用户只要设置一下就可以了。 现在,由于原先的这些设备在我们的视线中渐渐淡出,控制台和终端的概念也慢慢谈 化。普通用户可以简单的把终端和控制台理解为:可以输入命令行并显示程序运行过程中 的信息以及程序运行结果的窗口。 不必要严格区分这两者的差别。了解 Linux 系统强大的控制台、终端和 shell 如同其他 UNIX 类系统,Linux 本身也是基于命令行的。试试“Ctrl” “Alt” “F1”。这就是控制台,算是 Linux 的本来面目。至于使用方法,除了多出登 录注销外,和前面章节所提到的“终端”差不多。在 X-Windo

10、w 出问题或不运行 X-Window 的时候,操作主要在这里完成。 Linux 在控制台下提供了不止一个终端,支持多用户同时登录,包括在本 机同时登录。控制台“Alt” “Fx”能够切换到第 x 个终端。如果需要从 X- Window 里跳到第 x 个终端,需要“Ctrl” “Alt” “Fx”。一般地,Linux 发行版提供 7 个虚拟屏幕,16 号是控制台终端,第 7 个上 面跑 X-Window。红旗 Linux 桌面 4.0 只提供了 2 个控制台终端,第 3 个跑 X- Window,如果需要更多控制台终端,可以修改“/etc/inittab”,找“# Run gettys in s

11、tandard runlevels”一行,下面以数字和“#”开头的 6 行都是控 制台终端说明。以“#”开头的行在大多数配置文件里表示注释,即该行不生效。 把那几个“#”去掉,重新启动后即可获得全部 6 个控制台终端。前面提到的“rxvt”,运行时会在图形界面中虚拟一个终端窗口,由于实 际功效几乎完全相同,从这里起,本文档中不论是图形界面下开启的“终端”, 还是控制台下登录后的终端,如没有特别说明,均以不带引号的“终端”指代。 必要时则以“虚拟终端”和“控制台终端”区分。注意,在控制台终端下登录时,“login: ”处输入帐号,“password: ” 处输入口令。同样为安全起见,输入的口令不

12、显示。控制台终端注销用命令 “logout”。在控制台终端启动的后台程序不会因为注销而终止。前面说过,控制台终端“算是 Linux 的本来面目”。也只能“算是”,因 为各终端里运行的命令行程序并不是终端本身,更不是 Linux 本身。像 X- Window 一样,那个命令行程序实质上也是个外围程序,叫“shell”。“shell”,壳。从名字看,也许你已经猜到一些东西。不错,它包含了用 户界面功能,负责接收使用者输入的东西,翻译后发送给 Linux 内核处理。如 果有输出信息,它也会把输出信息显示出来。相对 DOS 而言,shell 就相当于 “”。shell 同样能进行由几个命令串成的“批处

13、理”。与“”不同, shell 的功能要强大许多。一个功能稍强的 shell 脚本,已经具备高级语言的 语法结构,因此编写 shell 脚本在很多情况下也被看作是编程。一般情况下,在控制台终端登录或在图形界面下开启“终端”,默认都会 启动一个 shell 来接待使用者。可以在 shell 的命令行里启动另外一个 shell。退出当前 shell 的通用命 令是“exit”。如果当前使用的 shell 正是控制台登录后启动的,则“exit” 等效于“logout”。shell 中启动的后台程序不会因正常退出而终止。所谓非正常退出,指强 行杀掉这个 shell;在图形界面下用“打叉”方式关闭终端也

14、算强行终止一个 shell。shell 有很多种,各有特色。目前使用比较广泛的是 shell 是“bash”, 主要的 Linux 发行版均以其作为默认的 shell。“bash”和其他主流 shell 都 支持一次输入多个命令,支持启动后台程序。如果要依次执行多个命令,命令 间用“;”隔开;如果要让这个程序在后台运行,在命令后面加“) ,是由 Teletype 公司生产 的。设备名放在特殊文件目录/dev/下,终端特殊设备文件一般有以下几种: 1.串行端口终端(/dev/ttySn) 串行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终端设备。计算机把每 个串

15、行端口都 看作是一个字符设备。有段时间这些串行端口设备通常被称为终端设备,因为那时它的最 大用途就是用 来连接终端。这些串行端口所对应的设备名称是/dev/tts/0(或/dev/ttyS0) 、/dev/tts/1(或 /dev/ttyS1)等, 设备号分别是(4,0) 、 (4,1)等,分别对应于 DOS 系统下的 COM1、COM2 等。若要向一 个端口发送数据, 可以在命令行上把标准输出重定向到这些特殊文件名上即可。例如,在命令行提示符下键 入:echo test /dev/ttyS1 会把单词”test”发送到连接在 ttyS1(COM2)端口的设备上。 2.伪终端(/dev/pty

16、/) 伪终端(Pseudo Terminal)是成对的逻辑终端设备,例如/dev/ptyp3 和/dev/ttyp3(或着在设 备文件系统中分 别是/dev/pty/m3 和/dev/pty/s3) 。它们与实际物理设备并不直接相关。如果一个程序把 ttyp3 看作是一个串 行端口设备,则它对该端口的读/写操作会反映在该逻辑终端设备对的另一个上面(ttyp3) 。 而 ttyp3 则是 另一个程序用于读写操作的逻辑设备。这样,两个程序就可以通过这种逻辑设备进行互相 交流,而其中 一个使用 ttyp3 的程序则认为自己正在与一个串行端口进行通信。这很象是逻辑设备对之 间的管道操作。 对于 ttyp3(s3) ,任何设计成使用一个串行端口设备的程序都可以使用该逻辑设备。但对 于使用 ptyp3 的 程序,则需要专门设计来使用 ptyp3(m3)逻辑设备。 例如,如果某人在网上使用 telnet 程序连接到你的计算机上,则 telnet 程序就可能会开始连 接到设 备 ptyp2(m2)上(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 高中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号