将大部份 Linux 指令移植到 Windows
【这不是抄 ... 😂】Microsoft 在 Build 2026 开发者大会上宣布「Coreutils for Windows」项目,将会把大多数 Linux 指令透过 Rust 语言原生移植至 Windows 系统。未来用家可以直接在 Windows CMD 和 PowerShell 命令列中使用超过 75 个 Linux 指令,包括 ls、grep、cat、cp 及 rm 等常用指令。记住,这不叫「抄」,这叫「致敬」。
据 Microsoft 行政总裁 Satya Nadella 表示,现代开发者经常需要在 Linux、macOS、Windows、Docker 以及 Windows 的 Linux 子系统 WSL 等多种环境之间频繁切换。然而,由于各平台间的预设基本指令并不相容,往往迫使开发者必须寻找替代方案,这不仅降低了工作效率,也增加了维护不同版本自动化 Script 的困扰。
为了彻底解决这个问题,Microsoft 基于开源社群的「uutils」项目,重新编写了 GNU Coreutils,并打造出可在 Windows 上原生执行的 Linux 指令。
当用家透过 Windows 的软件包管理器(WinGet)输入指令 winget install Microsoft.Coreutils 完成安装后,系统便会利用 NTFS 的 Hardlinks 技术,为每个支援的指令(例如 ls.exe、cp.exe 等)建立指向核心执行档 coreutils.exe 的连结。当用家在命令列执行这些指令时,系统会自动辨识并唿叫相对应的功能,且完全支援与 Linux 环境下相同的参数 Flags 与管线 Pipelines 操作。
这项功能与 Microsoft 过去推出的「Windows 的 Linux 子系统(WSL)」有着本质上的不同。在以往的 WSL 环境中,Windows 必须在背景执行一个轻量化的 Linux 核心来进行代理与转换,而此次推出的 Coreutils 则是百分之百的 Windows 原生程式,完全脱离了对 Linux 子系统的依赖。
Microsoft 此举大幅降低了环境配置的复杂度,使开发者能实现「一次编写 Script,到处直接执行」的最佳化工作流程。
不过,由于部分 Linux 的指令名称与 Windows 现有的 Command Prompt 及 PowerShell 内建指令存在直接冲突,例如 dir、expand、more 等,Microsoft 特别提供了一份兼容性对照表,藉此说明不同命令列介面下的优先权与行为模式,以防开发者混淆。
目前该项目已在 GitHub 上以开源包的形式发佈,并持续由 Microsoft 官方团队进行维护与更新。Microsoft 此举是希望提升开发者使用 Windows 平台的意愿,当开发者在 Windows 环境下就能毫无障碍地使用所有熟悉的 Linux 工具时,转换至 Linux 桌面系统的诱因便随之降低。
随着 AI Agents 时代的来临,自动化工具与多平台 Script 兼容性的重要性大幅提升。Microsoft 正式收编并原生支援 Linux 核心指令,不仅为开发者提供了极大的便利,更形同为未来 AI 基础建设在 Windows 平台上的最佳化奠定了基础。
资料来源: