微软为Windows引入Coreutils,让Linux开发者更顺手

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

微软近日宣布推出Coreutils——一项全新的Windows 11功能,允许开发者通过单一可执行文件,直接在Windows系统上原生运行众多常用的Linux命令行工具。

这一功能在本周于西雅图举办的Build 2026开发者大会上正式发布。微软推出Coreutils的目的,是降低开发者在Windows与其他平台之间切换时所面临的"认知负担"。

目前,若要在Windows环境下使用那些在CI/CD开发流程中被视为必备的Linux命令行工具,开发者不得不借助繁琐的变通方案——要么打开Git Bash等模拟器,要么启动虚拟化的Windows Linux子系统(WSL)终端。这两种方式都耗时且低效。正如微软在公告中所说:"开发者需要频繁在不同平台间切换,但熟悉的命令往往无法正常运行,不得不寻找替代方案,导致效率下降和上下文频繁中断。"

Coreutils彻底消除了这种来回切换的困扰,让开发者可以直接在Windows的CMD命令提示符、PowerShell或Windows Terminal中运行绝大多数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开发者大会还见证了微软的多项重要发布:用于在Windows上部署Linux容器的WSL容器CLI与API、一个配备开源治理工具的自主智能体新框架,以及微软Scout——一款专为自动化Microsoft 365任务而设计的AI智能体。

Q&A

Q1:Coreutils是什么?它能解决什么问题?

A:Coreutils是微软为Windows 11推出的一项新功能,允许开发者通过单一可执行文件在Windows系统上原生运行Linux命令行工具。它解决的核心问题是:开发者以往在Windows上使用Linux命令,必须借助Git Bash或WSL等繁琐的模拟环境,效率低下。有了Coreutils,开发者可以直接在CMD、PowerShell或Windows Terminal中运行大多数Linux命令,无需切换环境。

Q2:Coreutils支持哪些Linux命令?有哪些限制?

A:Coreutils目前支持75个Linux工具,包括ls、cp、find、grep、rm、du、hostname、uptime等常用命令。但存在一定限制:部分命令与CMD或PowerShell原有命令冲突,如dir、kill、more、whoami等暂不可用;另有一些命令因依赖Windows未支持的POSIX特性而被排除,如chmod、chown、chroot等;此外,某些命令只能在CMD中运行,无法在PowerShell中使用。

Q3:Coreutils怎么安装?底层是用什么技术实现的?

A:Coreutils可通过WinGet包管理器安装,命令为:install Microsoft.Coreutils,安装后为单一可执行文件。技术层面,它是对GNU uutils/coreutils项目的Rust语言重写版本,各命令通过NTFS硬链接映射到同一个多调用可执行文件。这种设计意味着只需维护一个二进制文件,大幅简化了安装、签名和更新流程。

来源:Computerworld

0赞

好文章,需要你的鼓励

2026

06/10

17:10

分享

点赞

邮件订阅