shell bash cmd
以前大学上学的时候用的就是mac,最近它屏幕出了点问题,就换了台电脑,换成windows机器,以前都是在终端下疯狂写命令,进行配置什么的,现在发现windows机器,好像并不怎么依赖命令行,大部分是可视化配置,但是有个差不多的cmd,我开始还以为一样呢,网上搜了一下,还是有区别的。
shell:
操作系统可以分成核心(kernel)和Shell(外壳)两部分,其中,Shell是操作系统与外部的主要接口,位于操作系统的外层,为用户提供与操作系统核心沟通的途径。
Shell俗称壳(用来区别于核 kernel),是一种“命令解析器”。分为图形界面shell和命令行shell两大类。
Shell管理你与操作系统之间的交互:等待你输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果。
不同系统有不同的shell,如bash、C shell、windows power shell 等等;在linux系统中,通常是Bourne Again shell ( 即bash)。
shell是一个命令解释器(也是一种应用程序),处于内核和用户之间,负责把用户的指令传递给内核并且把执行结果回显给用户,同时,shell也可以作为一门强大的编程语言。在linux/unix平台上,shell多半默认为Bash shell。包括我之前用的macOS(类unix),使用的bash(终端),就是一种命令行shell。
bash
Bash(Bourne-Again SHell),Unix shell的一种,在1987年由布莱恩·福克斯为了GNU计划而编写。1989年发布第一个正式版本,原先是计划用在GNU操作系统上,但能运行于大多数类Unix系统的操作系统之上,包括Linux与Mac OS X v10.4都将它作为默认shell。
cmd
cmd是Command shell的简写,CommandShell是一个独立的应用程序,它为用户提供对操作系统直接通信的功能,它为基于字符的应用程序和工具提供了非图形界面的运行环境,它执行命令并在屏幕上回显MS-DOS风格的字符。
总结:
可以近似地认为linux shell=bash而windows shell=cmd,都是命令行解释器,都是用户与操作系统的交互接口。
参考:https://www.cnblogs.com/panchanggui/p/9582481.html