微软,Win11 Terminal不取代CMD,你怎么看?

微软

1个回答

写回答

15173180553

2026-01-14 09:15

+ 关注

linux
linux

说实在的,这没什么好奇怪的。不少人会将Windows Terminal和cmd弄混,其实它们根本不是一回事。Windows Terminal属于终端模拟器,cmd则为命令解释器。Windows Terminal是为了能更便捷地与命令行程序交互,cmd是用来解析输入的命令然后执行。在linux里,gnome - terminal和bash也是这样的关系。Windows Terminal实际上是对标传统的Windows控制台主机(conhost.exe)的。没错,下图里我们最常看到的那种窗口,正是由conhost.exe驱动的。

cmd.exe自身并不具备创建窗口的能力。在Windows Vista之前,命令行程序以csrss为宿主,而从win7起,conhost.exe成为新的命令行宿主。conhost负责无图形界面程序的输入输出操作,如此我们才能在Windows图形界面中方便地使用命令行程序。其实不只是cmd,许多无图形界面的控制台程序(像telnet、nslookup,哪怕是自己编写的Helloworld控制台程序)都是在conhost下运行的。Windows Terminal是Win10时期出现的后起之秀,它相当于重新从底层编写的软件。和conhost相比,Windows Terminal的界面更加友好美观,功能也更为丰富。像多标签页管理、多配置文件管理,还有命令面板能进行更多操作(比如在命令面板中选择查找就能查找命令行输出内容等),所以它有取代传统conhost的潜力。Windows Terminal与大部分控制台程序都兼容,cmd也包含在内。并且它和WSL的集成度很高,使用linux平台的应用程序时会更加舒适。

要是不太适应Windows Terminal,或者运行老程序得在传统控制台进行,那还是能切换回conhost的。在Windows Terminal的首选项里就能切换,win11用户还能在设置 - 开发者选项中修改。

Win10
Win10

cmd的替代品应该是powershell。powershell添加了诸多命令行扩展,长命令参数也得到了优化。然而,powershell的命令语法和cmd差异很大,并非完全兼容,在一些情形下cmd仍具有不可替代性(实际上powershell运行bat/cmd文件时本质上还是调用cmd.exe来运行),所以cmd不会被移除,还会留存很长时间。当然,发展powershell的确是一大趋势,毕竟如前文所述,powershell有不少优势,Windows Terminal也默认将powershell作为默认配置文件对待。

举报有用(0分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号