微软在年度开发者大会 Build 2026 上抛出了一个让人先是一振、再一想又觉得“这就对了”的宣布——将超过 75 条 Linux 常用指令通过 Rust 语言原生移植至 Windows 系统。用户可以直接在 CMD 和 PowerShell 中使用 ls、grep、cat、cp、rm 等命令,无需再打开 WSL 或下载第三方工具。
一、这不是WSL,是彻底的“变节”
这个名为“Coreutils for Windows”的项目,基于开源社区的 uutils 项目重新编写了 GNU Coreutils,打造出可在 Windows 上原生执行的 Linux 指令集。它与 WSL 有本质区别:WSL 需要在后台运行轻量化 Linux 内核进行代理转换,而 Coreutils 是百分之百的 Windows 原生程序,完全脱离对 Linux 子系统的依赖。
安装方式也简单得可以忽略——输入 winget install Microsoft.Coreutils 即可。系统会利用 NTFS 的 Hardlinks 技术,为每条支持的指令建立指向核心执行文件 coreutils.exe 的链接,执行时自动识别并调用对应功能。
二、“致敬”还是“跟风”,微软这步棋看似精妙实则尴尬
微软 CEO 娜德拉表示,现代开发者经常在 Linux、macOS、Windows、Docker 及 WSL 等多种环境间频繁切换,各平台默认指令不兼容促使开发者寻找替代方案,既降低效率又增加维护负担。这个论点本身没错,但问题在于——
微软自己就是这个“不兼容”问题的制造者之一。 过去十年,微软在 Linux 生态上的态度一直反复横跳——从当年纳德拉的“Microsoft Loves Linux”,到后来 WSL 的推出,再到今天把指令直接搬进 Windows。每一步都像是在“补课”,而非真正的前瞻性布局。
三、命名冲突的尴尬,微软没想过吗?
由于部分 Linux 指令名称与 Windows 现有 CMD 及 PowerShell 内置指令存在冲突,如 dir、expand、more 等,微软不得不提供了对照表说明不同命令行界面下的优先权与行为模式。换句话说,你在 CMD 里打 ls 可能得到的是 Linux 式的输出,但打 dir 还是 Windows 的老样子。
这种“就地贴上去再说”的思路,根本不像一个擅长平台统一的公司应该做的事。更像是微软看到 Apple 在 macOS 上原生支持越来越多 Unix 命令,心想“我也得有”,于是请社区帮忙把 uutils 翻译了一遍,打上“微软官方”的标签就推出来了。
四、开源是好事,但别拿“致敬”当掩饰牌
这个项目目前已在 GitHub 上以开源形式发布,由微软官方团队持续维护更新,这点得承认是好事。Rust 语言的选择也是个明智的决定——安全性、性能、跨平台兼容性都是纲纲的。
但把这叫做“致敬”,就有点强行升华了。真正的致敬,是微软把 .NET 开源、把 VS Code 做到跨平台、把 Azure 开放给 Linux ——这些是改变游戏规则的东西。而 Coreutils for Windows 只是一个工具箱,一个很实用、但远达不到“重新发明 PC”级别的工具箱。
总结:这是一个好功能,但微软的宣传口吻还是老毛病——把 70 分的事情吹成 120 分。 开发者会喜欢这个功能吗?会。但他们会因为这个功能而觉得“微软真的懂开发者了”吗?恐怕不会。
编辑点评
微软把 Linux 指令搬进 Windows,本质上是承认了 Linux 生态在开发者心目中的地位无可撼动。但这不是“致敬”,这是“认输”。微软没办法让开发者离开 Linux 环境,所以只能把 Linux 引进 Windows。这本身就是最大的尴尬。真正的致敬,是让开发者在 Windows 上不再想起 Linux——而不是把 Linux 的一切拿过来。
—— END ——