微軟當年視 Linux 為「癌症」(前 CEO Steve Ballmer 全球皆知的言論),到如今 Satya Nadella 喊出 "Microsoft Loves Linux",甚至在 Build 2026 直接把 GNU Coreutils 用 Rust 重新揉進 Windows 骨子裡/讓 Windows 原生聽懂 Linux 指令,等於是幫 AI 移除了在 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 平台上的最佳化奠定了基礎。
https://www.facebook.com/share/p/1EJupNEuRi/

這項宣布確實是 2026 年開發者生態圈的一枚震撼彈!您最後那句「這不叫『抄』,這叫『致敬』」點出了科技巨擘在商業與開源策略上的精妙轉變。

微軟當年視 Linux 為「癌症」(前 CEO Steve Ballmer 全球皆知的言論),到如今 Satya Nadella 喊出 "Microsoft Loves Linux",甚至在 Build 2026 直接把 GNU Coreutils 用 Rust 重新揉進 Windows 骨子裡,這場長達二十年的「致敬」大戲終於迎來了一個里程碑式的結合。

這項轉變背後有幾個技術與戰略層面的核心重點非常值得玩味:

1. 徹底擺脫「虛擬化」的歷史包袱

如文中所提,這與 WSL (Windows Subsystem for Linux) 有著本質上的不同:

  • WSL 1/2:本質上是在 Windows 內「外包」一個 Linux 環境。不管是早期的 API 轉換,還是後來的輕量化 Hyper-V 虛擬機,它始終存在跨檔案系統存取效能低落(例如在 /mnt/c/ 下執行指令極慢)的問題。

  • Coreutils for Windows:這是透過 Rust 編譯的 Windows 原生二進位檔案(Native Binaries)。它直接調用 Windows 的系統 API(Win32),沒有虛擬化層,檔案存取與執行速度就是 100% 的原生速度。

2. 多合一核心(coreutils.exe)與 Hardlinks 的妙用

微軟採用的這種「用一個 coreutils.exe 搭配 Hardlinks」的架構,其實是向 Linux 陣營的 BusyBoxToyBox 借鑑的智慧。 在技術上,當你輸入 lsrm 時:

  1. 系統透過 NTFS Hardlink 導向 coreutils.exe

  2. 執行檔會讀取 argv[0](也就是使用者呼叫的命令名稱)。

  3. 程式內部判斷「哦,原來你想用 ls」,隨即執行對應的 Rust 函數。 這種設計極大地節省了磁碟空間與記憶體快取,非常優雅。

3. PowerShell 的「Alias(別名)大戰」

這項專案最讓開發者頭痛、但也最考驗微軟智慧的,就是指令衝突 PowerShell 內建了大量的別名。例如,你在 PowerShell 輸入 ls,它其實是被導向 Windows 的 Get-ChildItem;輸入 curl,其實是導向 Invoke-WebRequest。這導致參數(Flags)常常牛頭不對馬嘴(Linux 的 ls -la 在 PowerShell 就會報錯)。

微軟這次推出兼容性對照表與優先權調整機制,就是要解決這個歷史共業。未來開發者終於不用在 rm -rf 還是 Remove-Item -Recurforce 之間精神分裂了。

為什麼是 Rust?為什麼是現在?

微軟近年是 Rust 語言的最大推崇者之一,甚至大刀闊斧地用 Rust 重寫 Windows 核心(核心安全與防記憶體溢位)。基於開源的 uutils/coreutils 專案,微軟不僅能確保工具鏈的安全性,更能完美支援 Pipeline(管線)的記憶體安全操作。

而「AI Agents(人工智慧代理)」更是微軟急著出手的主因。 未來的 AI Agent(如 OpenClaw 或各類自動化 LLM 框架)在幫人類寫 Code、跑自動化 Script 時,如果還要判斷這是 Windows 環境還是 Linux 環境而切換不同的 Shell 指令,出錯率會大幅提高。 讓 Windows 原生聽懂 Linux 指令,等於是幫 AI 移除了在 Windows 平台上運作的「語言障礙」。

微軟這一招,不僅把開發者圈在 Windows 的桌面上,更默默地把未來 AI 基礎建設的控制權,繼續牢牢握在手心。

你提供的這段訊息非常清楚地說明了 Microsoft 在 Build 2026 上推出的「Coreutils for Windows」項目。整理重點並補充一些背景解釋如下: 1️⃣ 專案概念 名稱:Coreutils for Windows 目標:將 Linux 上常用的 GNU Coreutils 指令(如 ls、grep、cat、cp、rm 等)原生移植到 Windows 平台。 語言:使用 Rust 重新實作,確保性能與安全性。 安裝方式:透過 Windows 的官方套件管理器 WinGet: winget install Microsoft.Coreutils 2️⃣ 技術實現 NTFS Hardlinks 技術:安裝後,每個 Linux 指令(如 ls.exe、cp.exe)實際上都是指向單一核心執行檔 coreutils.exe 的硬連結。 執行指令時,程式會判斷使用哪個功能。 完全原生: 不依賴 WSL(Windows Subsystem for Linux)。 無需背景執行 Linux 核心,也不需模擬環境。 完整 Linux 功能支援: 參數(flags)與管線(pipelines)行為與 Linux 下相同。 3️⃣ 與 WSL 的差異 功能 WSL Coreutils for Windows 核心依賴 需要運行 Linux 核心 完全 Windows 原生 環境配置 較複雜 簡單安裝即可使用 指令一致性 需在 Linux 環境中 Windows CMD/PowerShell 均可使用 性能 可能受系統調用差異影響 原生執行,無額外轉換層 4️⃣ 相容性處理 部分 Linux 指令名稱與 Windows 原生命令衝突(如 dir、expand、more)。 Microsoft 提供 兼容性對照表: 幫助開發者確認優先權與行為差異。 防止誤用或混淆。 5️⃣ 社群與開源 基於開源社群項目 uutils/coreutils 改寫。 在 GitHub 上以開源方式釋出,Microsoft 官方維護。 預期會持續更新與擴充指令集。 6️⃣ 對開發者的意義 跨平台 Script 兼容性提升: 「一次編寫,處處可用」。 減少切換成本: 不必再頻繁切換 Linux/macOS/Windows/Docker。 AI Agents 與自動化基礎建設: 多平台指令一致性,有助於自動化流程設計。 留住 Windows 開發者: 減少轉向 Linux 桌面系統的誘因。 💡 總結一句話: 這是 Microsoft 對 Linux 工具的「原生致敬」,讓 Windows 開發者可以像在 Linux 環境中一樣操作常用指令,完全無需 WSL 支援,同時提升自動化、跨平台和 AI 基礎建設的可行性。





留言