微软为Windows引入Coreutils,让Linux开发者告别平台切换烦恼

微软在Build 2026开发者大会上发布了Coreutils,这是一项Windows 11新功能,允许开发者通过单一可执行文件在Windows上原生运行75种常用Linux命令行工具。该功能支持从CMD、PowerShell或Windows终端直接执行ls、cp、grep等命令,无需借助Git Bash或WSL等模拟环境。Coreutils基于Rust重写的GNU uutils/coreutils项目,通过NTFS硬链接映射各命令,简化安装与维护流程,有效降低开发者跨平台切换的认知负担。

微软宣布推出Coreutils——一项面向Windows 11的全新功能,允许开发者通过单一二进制文件在Windows上原生运行众多常用Linux命令行工具。

该功能在本周于西雅图举办的Build 2026开发者大会上正式亮相,其核心目标是降低微软所称的"认知负担"——即开发者在Windows与其他平台之间频繁切换时所承受的操作压力。

此前,要在Windows上访问CI/CD开发环境中常用的Linux命令行工具,开发者必须借助一些繁琐的变通方式,例如打开Git Bash等模拟器,或启动虚拟化的Windows Linux子系统(WSL)终端。这两种方式均耗时且低效。正如微软在公告中所说:"开发者需要不断在多个平台间切换,但熟悉的命令却无法稳定运行,被迫寻找替代方案,不仅拖慢开发速度,还打断工作节奏。"

Coreutils彻底消除了这种来回切换的需求,开发者可以直接在Windows CMD命令提示符、PowerShell或Windows终端中运行绝大多数Linux命令。微软表示:"无论你是在Linux、macOS、WSL、容器还是云环境之间切换,多年来积累的命令习惯和工作流程,在Windows环境中都能直接使用。"

Coreutils以单一可执行文件的形式安装(通过WinGet命令:install Microsoft.Coreutils),其本身是对GNU uutils/coreutils项目的Rust语言重写版本,提供跨Linux发行版通用的命令支持。

Coreutils高效管理的关键在于:各项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的别名表配置。"

除Coreutils之外,Build 2026开发者大会还宣布了多项重要更新:WSL容器CLI与API(用于在Windows上部署Linux容器)、一个配备开源治理工具的自主智能体新框架,以及Microsoft Scout——一款专为自动化Microsoft 365任务而设计的AI智能体。

Q&A

Q1:Windows上的Coreutils支持哪些Linux命令?

A:微软列出了Coreutils支持的75个Linux工具,涵盖ls、cp、find、grep、rm、du、hostname、uptime等常用命令。但部分命令因与Windows原有命令冲突或依赖不兼容的POSIX特性而无法使用,例如dir、expand、kill、chmod、chown等命令均不在支持范围内。

Q2:Windows Coreutils怎么安装?

A:Coreutils以单一可执行文件形式提供,通过WinGet包管理器安装,命令为:install Microsoft.Coreutils。安装后,开发者可直接在Windows CMD命令提示符、PowerShell或Windows终端中运行支持的Linux命令,无需额外配置模拟器或WSL环境。

Q3:Coreutils和WSL有什么区别?

A:WSL是在Windows上运行的虚拟化Linux子系统,需要单独打开终端环境才能使用Linux命令。而Coreutils无需虚拟化,直接在Windows原生Shell(CMD、PowerShell、Windows Terminal)中运行Linux命令,省去了切换环境的步骤,显著降低了开发者的操作负担,提升工作效率。

来源:Networkworld

0赞

好文章,需要你的鼓励

2026

06/05

10:05

分享

点赞

邮件订阅