無需 WSL 即可在 Windows 11 中使用原生 Linux 指令

直接在 Windows 11 上執行原生 Linux 指令。無需 WSL 即可享受 Coreutils 的強大功能。完全掌控您的系統!

你需要知道的最重要的事情

  • Coreutils 軟體包提供了 75 多個 Linux 風格的命令列工具,例如 ls、cp 和 rm,可在 Windows 11 中原生運行,旨在為開發人員實現一致性,而無需 WSL,但需要注意的是,它仍處於預覽階段。
  • 可以使用指令winget install Microsoft.Coreutils在 Windows 11 上輕鬆安裝 Coreutils,只需在任何控制台中執行該指令即可。安裝後需要重新啟動控制台,並且需要 PowerShell 7.4 或更高版本。
  • 許多 Coreutils 指令(如 cat、cp、ls 和 rm)與 PowerShell 內建指令衝突,其中內建別名通常優先,因此需要明確呼叫或修改 PATH 變數和別名表。

微軟發布了適用於 Windows 11 的 Coreutils,它是開源 uutils 專案的原生版本,可將熟悉的 Linux 命令列工具直接整合到 Windows 命令列介面 (shell) 中。您不再需要運行完整的 Linux 子系統。 Linux(WSL) 只是為了執行日常指令,例如 ls أ或者 cp أ或者 rm該軟體包以單一可執行(二進位)檔案的形式運行,每個工具都以其標準名稱顯示,這意味著您在 Linux 和 macOS 上使用的命令、標誌和管道在 Windows 上的工作方式相同。

簡答: 開啟 Windows 終端,執行命令 winget install Microsoft.Coreutils然後重啟控制台。請確保您使用的是 PowerShell 7.4 或更高版本。


Windows 11 的 Coreutils 軟體包是什麼?

Coreutils 是微軟維護的 uutils/coreutils 專案的一個版本,它是用 Rust 編寫的 GNU Coreutils 核心工具的跨平台重實作。微軟將 coreutils、findutils 和一個新編寫的 grep 工具整合到一個適用於 Windows 的多呼叫二進位檔案中。其主要目標是保持一致性;開發者多年來習慣使用的命令現在可以直接在標準 Windows 環境中運行,無需編譯或任何變通方法。

微軟在 Build 2026 大會上宣布正式發布該軟體包,並稱其包含超過 75 個可在 Windows 11 上原生運行的、類似 Linux 的命令列工具。這些工具目前仍處於「預覽」階段,因此早期版本可能存在一些 bug。您可以在Microsoft Learn 文件中查看完整概述。

它包括 Windows 11 已經 一些受 Linux 啟發的工具,例如 curltar OpenSSH 工具和 Windows 套件管理員。 Coreutils 填補了先前原生不支援的基本檔案和腳本指令留下的空白。


Coreutils 套件中包含的指令

此版本涵蓋了大多數開發人員主要使用的檔案和腳本命令,以及內建的 findutils 和 grep 應用程式。每個命令都支援標籤。 --help 標準版,讓您可以直接在終端機中查看完整的結構和選項。

命令 他的工作
ls 列出文件和資料夾
cp 它可以複製文件和資料夾。
mv 移動或重新命名文件
rm 刪除檔案和資料夾
cat 顯示文件內容
mkdir 建立資料夾
touch 建立文件或更新時間戳
pwd 顯示目前資料夾路徑

這些只是主要命令。該軟體包還包含用於原生 DOS 命令的內建連接埠。 sortfind此外,還有一個相容層(shim),用於保持現有 DOS 風格呼叫的功能,以及一個用於 glob 模式的 PowerShell 包裝器。


如何在 Windows 11 上安裝 Coreutils

要在Windows 11上安裝 Coreutils 軟體包,有兩種方法,其中最快的是使用系統內建的軟體包管理器 Winget。

1. 開啟 Windows 終端機、命令提示字元或 PowerShell。

2. 執行以下安裝指令:

winget install Microsoft.Coreutils

3. 重啟控制台,將新指令載入到會話中。重新開啟後,無需執行單獨的 Linux 環境即可使用這些命令。

如果您喜歡直接下載,可以從 Coreutils 官方發布頁面取得安裝程式。微軟提供了 x64 和 arm64 版本,請選擇與您的系統相容的版本。

✅當出現類似這樣的指令時,您就知道安裝成功了。 ls 它會顯示文件列表。如果在安裝後找不到任何命令,問題通常與您的 PATH 環境變數有關。請先重新啟動控制台,然後確保安裝目錄已新增至 PATH 環境變數中,然後再進行其他故障排除。


Shell 支援和 PowerShell 7.4 要求

Coreutils 可與命令提示字元、PowerShell 和 Windows 終端機搭配使用,但有一個關鍵需求:Coreutils 需要 PowerShell 7.4 或更高版本;舊版無法運作。如果您使用的是舊版本,請先更新 PowerShell,然後再安裝 Coreutils。

特定指令的執行其實取決於三個因素:你使用的 shell、PATH 變數的順序,以及在 PowerShell 中,別名表。許多 Coreutils 指令名稱與 shell 內建指令的名稱重疊,這會影響Windows 解析這些指令的方式。


CMD 和 PowerShell 中的命令衝突

有些指令可以順利執行,有些指令雖然執行成功,但會與內建指令衝突,有些指令根本無法執行。在 PowerShell 中,當指令發生衝突時,通常會優先使用內建別名。您可以明確地呼叫 Coreutils 版本,或者修改 PATH 環境變數和別名表來控制 Windows 中哪些指令可以執行。

命令 CMD PowerShell 7.4+ 筆記
cat 作品 衝突
cp 作品 衝突
date 衝突 衝突
dir غير متضمن غير متضمن 它與內建的 DOS 指令衝突
echo 衝突 衝突
find 作品 作品 DOS 指令的精簡版本
hostname 作品 作品 它超越了 Windows 內建指令的功能。
kill غير متضمن غير متضمن Windows 不支援 POSIX 訊號。
ls 作品 衝突
mkdir 衝突 衝突
more غير متضمن غير متضمن 它與內建的 DOS 指令衝突
mv 作品 衝突
pwd 作品 衝突
rm 作品 衝突
sort 作品 作品 DOS 指令的精簡版本
tee 作品 衝突
uptime 作品 衝突
whoami غير متضمن غير متضمن 它與 Windows 內建指令衝突

Windows 中可能幹擾腳本運行的重要警告

Coreutils 在大多數情況下與其 Linux 版本的行為類似,但一些Windows特有的差異可能會導致腳本執行異常。在生產環境中使用這些命令之前,請務必考慮這些因素。

  • CRLF 換行符號: 它經常被使用 Windows . 文件 文字換行符(CRLF)。大多數工具都能透明地處理這種情況,但模式匹配需要使用程式碼。 $ 實際位元組數可能會有所變化。
  • 沒有 /dev/null:NUL 例如,相反。 find . -name "*.log" > NUL.
  • 沒有POSIX訊號: Windows 不支援 SIGHUP 和 SIGPIPE 等訊號,但 Ctrl+C 仍然可以按預期工作。
  • 賽道間歇: 兩者都被接受 /但是,有些工具產生的輸出以反斜線分隔,這可能會影響後續的輸出管道。
  • 檔案權限: Windows 使用存取控制清單 (ACL) 而不是 POSIX 權限位,因此條件運算式的行為可能與此類似。 find -perm 以其他方式提供,或仍然無法提供。
  • 符號連結: 讀取現有符號連結無需管理員權限。建立新連結需要在 Windows 11 中啟用開發者模式或使用具有管理員權限的終端。

Coreutils 與 WSL:何時使用哪一個?

Coreutils 並非旨在完全取代 Windows 子系統 Linux 版 (WSL)。相反,它無需運行完整的 Linux 子系統即可執行一些常用命令。當您需要快速、原生地存取諸如以下工具時,請使用 Coreutils: lscprm 直接在標準 Windows 命令列中執行。 WSL 則專用於完整的 Linux 工作負載、軟體套件管理器、僅限 Linux 的應用程式以及依賴真正 Linux 核心的容器工作流程。

對於一天中需要頻繁切換 Linux 伺服器、容器、雲端環境和 Windows 系統的開發者來說,真正的價值並不在於命令本身——Linux 用戶已經使用這些命令幾十年了。真正的價值在於一致性,它能消除記住哪個指令適用於哪個環境而造成的數十次小中斷。

Coreutils 是微軟在Build 2026 大會上宣布的一項更廣泛計劃的一部分,旨在降低 Windows 與更廣泛的開發者環境之間的隔離度。這種方法與 WSL、Windows Terminal、OpenSSH 和 WinGet 的模式類似,將現有的開發者工作流程引入 Windows,而無需開發者重新學習。但是,請注意,此軟體包仍處於預覽階段,因此在完全採用之前,請務必使用您的腳本進行充分測試。

評論被關閉。