Microsoft Coreutils让Linux开发者无需WSL即可在Windows中运行原生命令
作者: CBISMB
责任编辑: 邹大斌
来源: CBISMB
时间: 2026-06-05 17:10
浏览: 0
点赞: 0
收藏: 0
微软近日在Build 2026开发者大会上发布了Coreutils for Windows,这项Windows 11新功能允许开发者从单一二进制文件中原生运行大量常用Linux命令行工具,无需借助Windows Linux子系统(WSL)虚拟机。
Coreutils旨在降低微软所称的开发者跨平台工作时的"认知负荷"。目前,在Windows上访问CI/CD开发环境中必不可少的Linux命令行工具,需要通过Git Bash等模拟环境或WSL虚拟终端来实现,两者都耗时且效率低下。
微软在公告中表示:"开发者在不同平台间频繁切换,但熟悉的命令无法一致地执行,不得不依赖变通方案,导致速度下降和上下文切换。"Coreutils消除了这种反复切换的需要,开发者可以直接在Windows CMD命令提示符、PowerShell或Windows Terminal中运行绝大多数Linux命令。"无论你是在Linux、macOS、WSL、容器还是云环境之间迁移,你多年来积累的命令和工作流都可以在Windows环境中直接使用。"
75个命令,但并非全部
Coreutils通过WinGet安装(`install Microsoft.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 Unix/Linux特性而被略去,如chmod、chown、id、stty和chroot。
在某些情况下,命令可以在CMD中执行但无法在PowerShell中执行。微软解释了其中复杂的优先级机制:"Coreutils版本是否运行取决于Shell环境、PATH顺序以及(对于PowerShell而言)别名表。"
Build 2026 同期发布
除Coreutils外,Build 2026开发者大会还见证了微软的多项发布:WSL容器CLI和API即将进入公开预览阶段,支持在Windows上部署Linux容器;一个面向自主AI代理的新框架,附带开源治理工具;以及Microsoft Scout,一款旨在自动化Microsoft 365中各类任务的AI代理。
Coreutils的发布标志着微软在打通Windows与Linux开发者体验方面迈出了重要一步,让Linux开发者能够真正以原生方式在Windows中工作,不再需要额外的虚拟层或模拟环境。