shell和终端的关系

1、shell是什么?

shell一词包含两个概念:首先它是Linux命令集的概称,其次它是一个命令解释器,是操作系统和用户交互的接口。
命令解释器:将用户输入的命令翻译成机器语言。

为什么需要这样一个接口呢?
我们知道,操作系统的内容不能轻易被改动,否则会出现严重的问题,但是用户又必须要需要使用操作系统,所以操作系统为用户提供了一些命令,可以供用户使用。这些命令需要被两个对象所认识:机器和人。而命令解释器就充当了人和机器的“翻译官”,将人好理解的命令行命令“翻译”为机器可以理解的机器命令。

2、作为命令集概称的shell: shell 和 cmd

既然shell是Linux系统命令集的概称,那么Windows系统的命令集统称是什么呢?
准确来说,只能说Windows有cmd命令行工具,在Windows上同样可以使用shell,尽管Windows一直想加强cmd,但是奈何shell太强大。

cmd的由来:
在Windows之前的系统名叫DOS(Disk Operation System),没有图形化界面,用户靠输入命令操作计算机,这时候的命令就统称为cmd命令。
在Windows诞生之后,图形化界面占了主流,但是仍然保留了一个应用来支持cmd命令行工具。

综上可知,shell是Linux系统用来和用户交互的界面,而cmd命令行工具只是Windows下的一个工具,并且通过终端模拟器也可以在Windows下运行shell命令。

更详细可以参考此博文

3、作为命令解释器的shell
  • 命令行shell和图形shell

    shell通常也是命令解释器的代称,它分为命令行shell和图形shell。图形shell比较少见,使用较少,如Windows下的explorer.exe。而命令行shell就很多了,我们常见的有:sh、bash、zsh。

  • shell与终端

    什么是终端?
    终端是人机交互的接口,常见的键盘、鼠标、打印机都可称为终端设备。我们现在常说的”终端“是指可以控制计算机的控制台。现在常见的终端是指终端模拟器,每个系统都会自带终端模拟器,还有一些其他的终端模拟器,比较有名的有:

     GNU/Linux:gnome-terminal、Konsole;
     macOS:Terminal.app、iTerm2;
     Windows:Win32 控制台、ConEmu 等。
    

    终端有什么作用?
    一个常见的误解是:我们通过终端可以控制计算机,终端可以执行我们输入的命令。并不是这样。终端的主要任务是接收用户输入的命令和字符。

    什么是命令行界面?
    命令行界面是展示给用户,用于显示用户输入并显示命令执行结果的界面。通俗来讲,也就是终端模拟器展示给用户的界面,电影里看到的那种疯狂刷新字符行的那种黑窗口。

    shell和终端
    终端负责收集用户输入的命令和数据,然后提交给shell,并且将命令执行完的结果反馈给用户。shell负责将命令翻译,在系统执行完之后将结果返回给终端。

    4、一图以蔽之

    请添加图片描述

  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值