为什么cmd.exe命令行解释器不称为shell?

达里恩·斯普林格(Darien Springer)

我一直在研究不同的命令行解释器,并且注意到默认的Windows解释器cmd.exeWikipedia页面上没有被称为shell 几乎所有类似Unix的系统的命令行解释器都称为shell,但在cmd.exe大多数情况下不是称为大多数其他解释器。

这是有原因的,还是“壳”只是属于类Unix系统的解释器的术语?

用户名

Shell是操作系统的主要用户界面。在Windows中,此界面是GUI。explorer.exe用作“文件管理器”,创建“底部菜单”,“文件夹窗口”并控制文件打开的过程:当您单击文件时,它将调用ShellExecute函数。

因此,Windows中的“ shell”是UI,而“ cmd”仅用于某些旧命令或特殊命令。多年来,Microsoft一直认为GUI是执行任何操作的最佳方法。

大约2006年,他们发现unix shell(bash,ksh,zsh)在系统管理员中非常流行,因此他们发明了PowerShell:基于.net的cmd替换,这非常酷,特别是与最新的Powershell ISE一起使用时。之所以称为外壳程序,是因为其主要目的是成为许多系统管理任务的“一流公民”。任何现代的Microsoft服务器产品都具有cmdlet,因此您几乎可以使用powershell进行任何操作(不使用MMC)。

我不知道为什么他们在MS-DOS时代没有为“ command.com”使用单词“ Shell”。可能是他们从CP / M借用了术语并将其称为“命令处理器”。

有趣的是:有一个用于DOS的“ DOS Shell”简短的GUI文件管理器。它在6.22中已停产,并且当时大多数人使用Norton Commander。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么上下箭头命令在Python命令行解释器中不起作用?

为什么CMD无法识别javadoc命令?

为什么openwrt在命令行中使用“ V = s”

如何在Windows上安全地转义cmd.exe Shell的命令行参数?

Mono编译器生成的.exe直接从linux命令行运行,为什么?

为什么Docker中的uWSGI无法通过CMD而是通过命令行运行?

为什么makenmake不执行shell命令

为什么gcloud命令行工具比浏览器上载这么快?

为什么此命令会使cmd崩溃?

为什么cmd.exe解析插入符不同

为什么用“ shell”一词来描述命令行界面?

为什么在命令行上没有显示名称?

为什么学习命令行很重要?

为什么在命令行输出重复项

为什么vbc破坏了命令行?

为什么Mysql命令行导入比PhpMyAdmin慢

从Visual Studio打开的CMD提示无法在我的计算机上启动exe。为什么不?

为什么Web服务器不抱怨西里尔字母而命令行呢?

无法从centos 7命令行查看postfix电子邮件,为什么不呢?

为什么命令行猫与BBEdit不同?

为什么从命令行关机比从GUI关机更快?

为什么Python无法执行cmd命令“ tskill”?

为什么Studio生成的APK小于命令行APK

为什么我的命令行不能在启动器(菜单或桌面)中工作?

为什么没有更多适用于 Windows 的本机命令行 shell?

为什么 Popen("cmd.exe echo a", shell=True) 没有运行“echo”?

记录cmd.exe的命令行

Docker CMD + ENTRYPOINT 与命令行行为不匹配

为什么我的 makefile 无法调用 Windows 10 cmd shell?