cmd和bash分别是window和linux的命令。可能有人会疑惑为什么要将他们两个进行对比,因为经常接触这两个系统的人会发现,他们在一些命令上很相似,如cd xx/xx。为了搞清楚他们的区别,我们还需要shell。
1. shell
Shell(也称为壳层)在计算机科学中指“为用户提供用户界面”的软件,通常指的是命令行界面的解析器。一般来说,这个词是指操作系统中提供访问内核所提供之服务的程序。Shell也用于泛指所有为用户提供操作界面的程序,也就是程序和用户交互的层面。因此与之相对的是内核(英语:Kernel),内核不提供和用户的交互功能。shell简单理解为(SHELL PROGRAM)外部程序。
2. cmd
cmd是Windows命令提示符是Microsoft DOS操作系统的原始shell。一直到Windows+10内部版本14791(这个版本Microsoft将PowerShell作为默认选项)以前,CMD才是默认shell程序。CMD是Microsoft取代的原始MS-DOS操作系统的最后残留物之一。
Windows PowerShell是新的Microsoft Shell,它将旧的CMD功能与具有内置系统管理功能的scripting/cmdlet 指令集结合在一起。PowerShell cmdlet允许用户和管理员使用可重复使用的脚本来自动化复杂的任务。系统管理员通过使用PowerShell自动化管理任务来节省大量时间,能够通过完全访问COM和WMI在远程和本地Windows系统上执行任务。
3. bash
在linux/unix平台上,Shell有多种实现,目前多数Linux发行版本默认是bash,即Bourne Again shell。
总结
cmd和bash和一种平行的关系,都是不同系统下的shell。他们之间语法上会相似,需要多总结。
参考
https://zh.m.wikipedia.org/wiki/%E6%AE%BC%E5%B1%A4