Windows版Coreutils测评:Linux开发者如鱼得水
微软在Build 2026大会正式推出了Windows原生版Coreutils,开发者现在只需一个可执行文件,就能在Windows系统里直接运行大量常用的Linux命令行工具,无需任何模拟层。
在西雅图举办的Build 2026开发者大会上,微软正式揭晓了Coreutils。这项功能的核心目标很清晰:消除开发者在Windows与Linux、macOS等平台间反复切换时的认知摩擦。直白点说,就是让那些在Linux终端里行云流水的命令操作,在Windows上也能获得完全一致的体验。
在此之前,想在Windows上执行CI/CD流程中必备的Linux命令,往往要绕不少弯路。要么启动Git Bash这类模拟环境,要么打开WSL终端。两种方式都不够干脆——启动慢、步骤多、频繁上下文切换。微软在官方公告中直接承认了痛点:“开发者在不同平台之间来回切换,但熟悉的命令常常无法稳定运行,不得不寻找各种变通手段,不仅拖慢效率,还造成大量上下文切换。”
Coreutils一举解决了这个来回折腾的问题。现在,开发者可以直接在Windows CMD、PowerShell或Windows Terminal中运行绝大多数Linux命令。微软强调:“无论你在Linux、macOS、WSL、容器还是云环境之间切换,那些你积累多年的命令和工作流,现在在Windows环境下也能直接沿用。”这句话精准回应了广大开发者的真实诉求。
安装过程极为简洁:通过WinGet包管理器执行一行命令即可:install Microsoft.Coreutils。这个Coreutils基于GNU uutils/coreutils项目的Rust重写版本,提供跨Linux发行版的通用命令支持。其核心架构设计巧妙:所有Linux命令通过一个多调用可执行文件运行,并借助指向各命令的NTFS硬链接进行映射。单个二进制文件搞定全部操作,签名、修补、更新都变得异常简单。
微软列出的Coreutils目前支持75个Linux工具,像ls、cp、find、grep、rm、du、hostname、uptime这些高频命令全在其中。不过有得必有失,部分Coreutils命令与现有的CMD或PowerShell命令存在冲突,或技术上无法执行。微软给出了一份兼容性对照表,列出了暂不可用的命令,包括dir、expand、kill、more、timeout和whoami。
还有一些命令因为依赖Windows不支持的特定POSIX特性而被排除在外,比如chmod、chown、id、stty、chroot。更有趣的是,同一个命令在CMD里能跑,到PowerShell里反而不行。微软对此解释得很透彻:能否运行取决于Shell类型、PATH顺序以及PowerShell中别名表的配置。优先级规则虽然复杂,但微软也提供了配套文档帮助开发者理清头绪。
除了Coreutils,Build 2026大会上微软还发布了多项重要更新:面向在Windows上部署Linux容器的WSL容器CLI和API、配备开源治理工具的自主智能体新框架,以及专为自动化Microsoft 365任务设计的AI智能体Microsoft Scout。这些新动作值得开发者持续跟进。
Q&A
Q1:Windows版Coreutils是什么?它支持哪些Linux命令?
A:Coreutils是微软为Windows 11推出的原生功能,开发者通过单个可执行文件即可在Windows中直接运行Linux命令行工具,无需依赖Git Bash或WSL。目前共支持75个Linux工具,包括ls、cp、find、grep、rm、du、hostname、uptime等常用命令。
Q2:Windows版Coreutils安装方式是什么?
A:Coreutils通过WinGet包管理器安装,命令为:install Microsoft.Coreutils。安装后以单个可执行文件存在,各Linux命令通过NTFS硬链接映射,只需维护一个二进制文件,升级和签名管理都十分轻便。
Q3:Windows版Coreutils有哪些命令不可用?
A:由于与CMD或PowerShell存在命令冲突,dir、expand、kill、more、timeout、whoami等命令暂不可用。另外,chmod、chown、id、stty、chroot等依赖POSIX特性的命令因Windows不支持相应实现也被排除在外。部分命令在CMD中可用,但在PowerShell中无法执行,具体取决于Shell类型、PATH顺序和别名表设置。
