Windows版Coreutils发布:微软让Linux开发者在Windows上也能"如鱼得水"

微软在Build 2026开发者大会上发布Coreutils,这是一项Windows 11新功能,允许开发者通过单一可执行文件直接在CMD、PowerShell或Windows Terminal中运行75种常用Linux命令行工具,无需借助Git Bash或WSL虚拟化环境。该工具基于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 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、配备开源治理工具的自主智能体新框架,以及专为自动化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顺序和别名表设置。

来源:InfoWorld

0赞

好文章,需要你的鼓励

2026

06/10

17:09

分享

点赞

邮件订阅