文档章节

##1 shell、控制台(console)、终端(terminal)的区别

OLIVERORCHID
 OLIVERORCHID
发布于 2017/09/09 11:36
字数 2139
阅读 21
收藏 0
点赞 0
评论 0

1> 终端(terminal,或者叫物理终端): 
是一种设备,不是一个程序,一般说的就是能提供命令行用户界面的设备,典型的是屏幕和键盘,或其他的一些物理终端。


2> 虚拟终端: 
屏幕和键盘只是一个终端,可能不够用,又不想增加设备投入,就产生了虚拟终端。
gnome-terminal,urxvt,mlterm,xterm等等:
是一个程序,职责是模拟Terminal,它和Terminal的区别在于:  外部它以 GUI 形式的窗口出现,内部则是程序结构和系统控制结构和Terminal有所不同


3>控制台(console): 
显示系统消息的终端就叫控制台,Linux 默认所有虚拟终端都是控制台,都能显示系统消息。
但有时专指CLI下的模拟终端设备的一个程序,和gnome-terminal,urxvt,mlterm,xterm等相同,只是CLI和GUI界面的区别。一般console有6个,tty1-6,CTRL+ALT+fn切换。还没听说过怎么换console

4>shell

是一个抽象概念,shell的一切操作都在计算机内部,负责处理人机交互,执行脚本等,是操作系统能正常运行的重要组成部分
bash,ash,zsh,tcsh等是shell这个抽象概念的一种具体的实现,都是一个程序,都能生成一个进程对象。
如果想换shell的程序,可以修改/etc/passwd,把里面的/bin/bash换成你想要的shell,或者用chsh命令来切换
shell与终端的关系:shell把一些信息适当的输送到终端设备,同时还接收来自终端设备的输入。一般每个shell进程都会有一个终端关联,也可以没有。

 

5>终端和控制台的区别

终端,英文叫做terminal ,通常简称为term,  比如我们在X下的xterm.   

控制台,英文叫做console。   

要明白这两者的关系,还得从以前的多人使用的计算机开始.  大家都知道,最初的计算机由于价格昂贵,因此,一台计算机一般是由多个人同时使用的。在这种情况下一台计算机需要连接上许多套键盘和显示器来供多个人 使用。在以前专门有这种可以连上一台电脑的设备,只有显示器和键盘,还有简单的处理电路,本身不具有处理计算机信息的能力,他是负责连接到一台正常的计算 机上(通常是通过串口) ,然后登陆计算机,并对该计算机进行操作。当然,那时候的计算机操作系统都是多任务多用户的操作系统。这样一台只有显示器和键盘能够通过串口连接到计算机 的设备就叫做终端。   

而控制台又是什么回事呢? 学机电的人应该知道,一台机床,或者数控设备的控制箱,通常会被称为控制台,顾名思义,控制台就是一个直接控制设备的台面(一个面板,上面有很多控制按 钮)。 在计算机里,把那套直接连接在电脑上的键盘和显示器就叫做控制台。请注意它和终端的区别,终端是通过串口连接上的,不是计算机本身就有的设备,而控制台是 计算机本身就有的设备,一个计算机只有一个控制台。计算机启动的时候,所有的信息都会显示到控制台上,而不会显示到终端上。也就是说,控制台是计算机的基 本设备,而终端是附加设备。 当然,由于控制台也有终端一样的功能,控制台有时候也被模糊的统称为终端。 计算机操作系统中,与终端不相关的信息,比如内核消息,后台服务消息,都可以显示到控制台上,但不会显示到终端上。   

以上是控制台和终端的历史遗留区别。现在由于计算机硬件越来越便宜,通常都是一个人独占一台计算机超做,不再连接以前那种真正意义上的“终端设备了”,因此,终端和控制台的概念也慢慢演化了。终端和控制台由硬件的概念,演化成了软件的概念。   

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

简单的说,能直接显示系统消息的那个终端称为控制台,其他的则称为终端。但是在linux系统中,这个概念也已经模糊化了。   比如下面这条命令:   echo "hello,world" > /dev/console   这条命令的目的是将"hello,world"显示到控制台上/dev/console是控制台设备的设备名。在linux中,在字符模式下,你无论 在哪个虚拟终端下执行这条命令,字符hello,world都会显示在当前的虚拟终端下。也就是说,linux把当前的终端当作控制台来看待。可见, linux中已经完全淡化了控制台和终端的区别。但是在其他的UNIX类系统中,却很明显的有虚拟终端和控制台的区别。比如 freeBSD系统。在freebsd中,只有第一个“终端”才是真正的控制台。(就是说按alt+f1得到的那个虚拟终端) ,你无论在哪个虚拟终端上执行上面的那条命令(哪怕是通过网络连接的伪终端上执行这条命令)。hello,world字符总会显示到第一个“终端”也就是 真正的控制台上。另外,其他的一些系统内部信息,比如哪个用户在哪个终端登陆,系统有何严重错误警告等信息,全都显示在这个真正的控制台上。在这里,就明 显的区分了终端和控制台的概念。其他UNIX中也是这样的。比如Tru64 unix 在X下有一个控制台模拟软件,你无论在哪里输入echo "hello,world" > /dev/console命令,hello,world总会显示在这个控制台模拟器中。 我们在X界面下用的那些输入命令的软件,比如xterm ,rxvt, gnome-terminal等等,都应该被称为终端模拟软件。请注意它和控制台模拟软件的区别。 linux中好象没有控制台模拟软件。在X中的终端模拟 软件中输入的echo "hello,world">/dev/console 命令的输出信息,都会输出到启动该X服务器的虚拟终端上。比如,你用字符方式登陆系统。进入第一个虚拟终端,然后startx启动X服务器。再打开 xterm 来输入 echo "hello,world">/dev/console 命令,那么字符串hello,world就显示在第一个虚拟终端上。你按ctrl+alt+f1,回到那个启动X服务器的终端,就可以看到hello, world字符串。   

再简单的说,控制台是直接和计算机相连接的原生设备,终端是通过电缆、网络等等和主机连接的设备。  

现在,由于原先的这些设备在我们的视线中渐渐淡出,控制台和终端的概念也慢慢谈化。普通用户可以简单的把  终端  和  控制台  理解为:

        前者可以输入命令行并显示程序运行过程中的信息的窗口 ;

        后者程序运行结果的窗口 ;

        没有必要严格区分这两者。

本文转载自:http://blog.csdn.net/caomiao2006/article/details/8791775

共有 人打赏支持
OLIVERORCHID
粉丝 0
博文 7
码字总数 668
作品 0
其它
Linux中tty、pty、pts的概念区别

基本概念: 1> tty(终端设备的统称): tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代...

YACHE
2011/07/04
0
0
virsh console 设置

虚拟机设置步骤: 1、添加ttyS0的安全许可,允许root登录: echo "ttyS0" >> /etc/securetty 2、在/etc/grub.conf文件中为内核添加参数: console=ttyS0 3、在/etc/inittab中添加 agetty:S0:12...

davis_qi
2014/07/14
0
0
解决kvm中宿主机通过console无法连接客户机

一.问题描述: kvm中宿主机通过console无法连接客户机,卡在这里不动了。 # virsh console vm01Connected to domain vm01Escape character is ^] 二、解决办法:利用vnc或宿主机的桌面进入客...

_诺千金
2014/10/11
0
0
Linux下如何限制Root用户进行远程登录

方法一:在/etc/default/login 文件,增加一行设置命令。 CONSOLE = /dev/tty01 设置后立即生效,无需重新引导。以后,用户只能在控制台(/dev/tty01)root登录,从而达到限制root远程登录,不...

红薯
2009/05/07
437
0
tty、pty、pts等(小记)

整理一下,内容会不太准确,不太严谨。 历史? tty ==> 泛指所有终端(Terminal) tty 它是 Teletype(或者TeletypeWriter)的缩写,中文翻译:电传打字机。 电传打字机通常由键盘、收发报器和印...

晨曦之光
2012/05/08
545
0
Linux系统下如何限制Root用户进行远程登陆

方法一:在/etc/default/login 文件,增加一行设置命令。 CONSOLE = /dev/tty01 设置后立即生效,无需重新引导。以后,用户只能在控制台(/dev/tty01)root登录,从而达到限制root远程登录,不...

红薯
2009/05/07
142
0
Linux系统下如何限制Root用户进行远程登陆

方法一:在/etc/default/login 文件,增加一行设置命令。 CONSOLE = /dev/tty01 设置后立即生效,无需重新引导。以后,用户只能在控制台(/dev/tty01)root登录,从而达到限制root远程登录,不...

红薯
2009/05/07
204
0
如何禁止root用户远程登录

方法一: 可以通过修改/etc/ssh/sshd_config文件,将其中的PermitRootLogin改成no,然后重新启动ssh服务就 可以了。/etc/rc.d/sshd restart 方法二:在/etc/default/login 文件,增加一行设置...

火头一号
2013/06/06
0
0
解释下 Linux TTY

终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。tty是Teletype的缩写。Teletype是最早出现的一种终端设备,很象电传打字机 是由Teletype公司生产的。设备名放在...

旋转木马-千里马
2016/01/07
25
0
设置Windows2008远程桌面多用户共享

  打开 控制面板 → 管理工具 → 终端服务(Terminal Services tsconfig.msc 2003里叫tscc.msc) → 终端服务配置(Terminal Services Configuration) ccna认证培训   1、(修改可以同时登陆...

弱弱小男子
2013/09/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

20位活跃在Github上的国内技术大牛 leij 何小鹏 亚信

本文列举了20位在Github上非常活跃的国内大牛,看看其中是不是很多熟悉的面孔? 1. lifesinger(玉伯) Github主页: https://github.com/lifesinger 微博:@ 玉伯也叫射雕 玉伯(王保平),...

海博1600
11分钟前
0
0
高性能服务器本质论

一 服务器分类 从软件性能角度,高性能服务器分:cpu密集型服务器/IO密集型服务器 (1)CPU密集型:该类服务器没有对io的访问/没有同步点,性能瓶颈在于对cpu的充分利用。 典型的如转发服务器/...

码代码的小司机
12分钟前
0
0
Mybatis收集配置

一、Mybatis取Clob数据 1、Mapper.xml配置 <resultMap type="com.test.User" id="user"> <result column="id" property="id"/> <result column="json_data" property="jsonData" ......

星痕2018
37分钟前
0
0
centos7设置以多用户模式启动

1、旧版本linux系统修改inittab文件,在新版本执行vi /etc/inittab 会有以下提示 # inittab is no longer used when using systemd. # # ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON......

haha360
今天
0
0
OSChina 周日乱弹 —— 局长:怕你不爱我

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ andonny :分享周二珂的单曲《孤独她呀》 《孤独她呀》- 周二珂 手机党少年们想听歌,请使劲儿戳(这里) @孤星闵月 :没事干,看一遍红楼梦...

小小编辑
今天
192
9
Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式 Factory工厂模式 Singleton单例模式 Delegate委派模式 Strategy策略模式 Prototype原型模式 Template模板模式 Spring5 beans 接口实例化 代理Bean操作 ...

小致dad
今天
0
0
SpringBoot | 第十章:Swagger2的集成和使用

前言 前一章节介绍了mybatisPlus的集成和简单使用,本章节开始接着上一章节的用户表,进行Swagger2的集成。现在都奉行前后端分离开发和微服务大行其道,分微服务及前后端分离后,前后端开发的...

oKong
今天
11
0
Python 最小二乘法 拟合 二次曲线

Python 二次拟合 随机生成数据,并且加上噪声干扰 构造需要拟合的函数形式,使用最小二乘法进行拟合 输出拟合后的参数 将拟合后的函数与原始数据绘图后进行对比 import numpy as npimport...

阿豪boy
今天
17
0
云拿 无人便利店

附近(上海市-航南路)开了家无人便利店.特意进去体验了一下.下面把自己看到的跟大家分享下. 经得现场工作人员同意后拍了几张照片.从外面看是这样.店门口的指导里强调:不要一次扫码多个人进入....

周翔
昨天
1
0
Java设计模式学习之工厂模式

在Java(或者叫做面向对象语言)的世界中,工厂模式被广泛应用于项目中,也许你并没有听说过,不过也许你已经在使用了。 简单来说,工厂模式的出现源于增加程序序的可扩展性,降低耦合度。之...

路小磊
昨天
254
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部