Windows为何有两个命令行工具?CMD&PowerShell
省流
-
PowerShell 是 CMD 的超集
-
pwsh:我别名强大;cmd:我快
Pwsh:我自定义能力强;cmd:我快
Pwsh:我语法高级;cmd:我快 -
微软一直想干掉CMD这个古老的窗口工具
但是现实是CMD和Powershell生态位和等级位已经完全不同了,CMD是指向性的DOS指令底层的读取,呆板指令,但确实很好用,他的等级位是(大哥);Powershell引入了变量的概念,有了一套丰富的变量指令集,丰富了调度层的命令架构,使得CMD做不到的Powershell能做到,提升了更强的兼容性。于是二哥位诞生了;
两者之间的服务对象并不同,但是有效的提升了windows在兼容与命令层的丰富度;然后微软为了将windows的兼容性变得更强,意图将这个窗口工具替代cmd,甚至不惜一切代价独特的为Powershell设计了一套全新的语言逻辑对CMD做指令归递,虽然这对一些已经接触了新语言的系统管理用户来说是非常强的窗口工具。但实际的现实是老用户甚至新用户调度CMD的利用率远高于Powershell,为什么呢?为啥干不掉CMD呢?
其根本在于——对于已经熟悉DOS架构的CMD的老用户而言,去学习Powershell的时间成本,习惯成本和认知成本太高了,所以当前很多用户宁愿CMD能做就CMD,也不愿意用Powershell,甚至有些掌握了新语言的开发者,宁愿CMD指令做归集也不愿意用Powershell去做,归根到底,Powershell的丰富度也带来了一定的复杂。
既然复杂,那么不听话的开发者甚至一些不愿意学习的系统管理员,宁愿简单也不愿意复杂,从而导致时至今日CMD的利用率也高于Powershell。这也是为什么CMD一直存在于我们的菜单栏中。@政委希绪弗斯
CMD
- cmd 是 command line 的缩写,意为 ”命令行“,是命令执行窗口
- 最早内置于 Windows 的 Shell,用于执行 Windows 命令,处理批处理文件
- 启动方式:
win+R
输入cmd
回车启动
PowerShell
Windows PowerShell 是一种易于使用的命令行 shell 和脚本环境,用于自动执行基于 Windows 的系统的管理任务。 Windows PowerShell 预安装在 Windows 操作系统的所有新式版本上。[1]
- 设计目的:扩展 CMD 功能,可运行称为 cmdlet 的 PowerShell 命令
* Windows Terminal
- Window Terminal 是微软在Build 2019大会上发布的面向Windows10的新命令行程序,Terminal 集成了 Windows 上的 PowerShell、cmd、Windows Linux子系统(WSL)三大环境
- 安装方式: 可在微软商店搜索安装