環境
作業系統:Windows 11
程式碼編輯器:Visual Studio Code
紀錄時間:2026年9月
Windows PowerShell和PowerShell 7+
Windows PowerShell是舊版的Windows內建工具(只支援Windows),而新一代的PowerShell是跨平台的現代化開源版本。
- Windows PowerShell:只能在Windows作業系統上執行,版本停留在5.1,且是Windows系統的一部分無法移除。
- PowerShell (v6/v7+):是跨平台的,支援Windows、macOS和Linux。
PowerShell 7+
安裝
打開Windows PowerShell,輸入winget install Microsoft.PowerShell
更新
打開PowerShell,輸入winget upgrade Microsoft.PowerShell
其他
所有winget安裝軟體更新winget upgrade --all
最新的PowerShell可以用linux指令嗎?
這取決於你把PowerShell執行在哪個作業系統上。
當你在Linux或macOS上執行PowerShell,100% 可以直接使用真實的Linux指令,因為底層就是Linux系統。
當你在Windows上執行最新版PowerShell時,可以執行「部分常用」的Linux指令。
為了讓習慣Linux的人無痛上手,微軟在Windows的PowerShell內建了許多外號(別名)。當你輸入Linux指令時,它會在背後自動翻譯成對應的PowerShell指令,ls, cd, pwd, mkdir都能用。
雖然這些基礎指令能動,但不能加上Linux的進階參數。例如輸入ls -la會報錯,因為背後的Windows Get-ChildItem看不懂 -la是什麼。
如果你的Windows有安裝 WSL (Windows子系統Linux),你只要在指令前面加上wsl,就能在最新版PowerShell裡調用100% 真正的Linux指令,
範例:wsl ls -la /home
WSL
安裝
打開PowerShell,輸入wsl --install
這個指令會自動幫你啟用Windows的虛擬化功能,並預設下載安裝最新的Ubuntu系統。
當視窗提示安裝完成後,手動重新啟動你的Windows 11電腦。這是啟用虛擬化核心必經的步驟。
重啟電腦並進入Windows後,系統會自動跳出一個黑色的Ubuntu命令列視窗(如果沒跳出,請去開始功能表搜尋「Ubuntu」並打開)。
設定帳號密碼:
Enter new UNIX username:
New password:
Retype new password:
當你看到綠色的文字(例如user@DESKTOP-XXXXXX:~$)時,就代表你已經成功登入真正的Linux系統了。現在,你可以在你原來的最新版PowerShell視窗裡,直接輸入wsl ls -la來調用Linux指令,或者輸入wsl直接切換進去Linux環境。
更新
WSL有雙版本,Microsoft Store版本(預設)和在線來源 / 內建元件版 (Inbox),一般用戶直接裝的是前者的版本。
以前的WSL是深深埋在Windows 11系統檔案裡的「一個元件」。這導致微軟工程師每次寫好WSL的新功能,都不能馬上更新,一定要等到一年一度的Windows大更新時才能塞進去。
現在微軟決定把WSL包裝成一個獨立App丟到Microsoft Store上。這樣一來,Linux有任何安全漏洞或新功能,工程師今天寫好、明天就能在商店上架讓你更新,完全不需要驚動Windows系統。
只要Windows 11平常會連上網路,Microsoft Store每天都會在電腦閒置時,在背景自動檢查並下載WSL的最新修補程式和新功能。完全不需要打開商店去點更新。
手動強迫更新:PowerShell裡輸入wsl --update
WSL檔案大小
主程式
WSL本身只是Windows內建的一個輕量化虛擬層,幾乎不佔空間。
WSL在Windows中是以一個虛擬硬碟檔案(副檔名為 .vhdx)的形式存在。它的特性是:會自動變大:你在Linux裡下載檔案、安裝軟體,這個檔案就會跟著變大。不會自動變小,即使你後來在Linux裡把那些檔案刪除了,Windows上的 .vhdx檔案依然會維持在最大時的容量,不會自動縮回。
微軟在較新版本的WSL中加入了一個新功能,可以讓Linux檔案刪除時,自動把空間還給Windows。你只需要在C槽的使用者資料夾(例如C:\Users\你的使用者名稱\)下,建立一個名為 .wslconfig的文字檔,並寫入以下內容即可:
[wsl2]
autoMemoryReclaim=gradual
sparseVhd=true
預設的WSL Ubuntu
剛裝好、乾淨的Ubuntu系統大約只佔2到3 GB的硬碟空間。完全沒有圖形介面。 它一打開就是一個全黑的終端機(CLI),只能用鍵盤打指令。它是專門下指令用的,裡面什麼軟體都沒附,要自己去下載。
Windows 11系統本身就已經準備好了一個共用的Linux核心(Kernel)。下載的WSL Ubuntu不需要自己帶一份核心,而是直接借用Windows現成的核心來跑。它寄生在Windows裡面,所有的硬體溝通全部由Windows代勞,因此不需要任何實體硬體驅動程式。
其他
Windows PowerShell ISE
它是舊版Windows PowerShell的「加強版雙視窗介面」(ISE意思是整合指令環境)。上方可以讓你像寫筆記本一樣寫好幾行腳本,下方直接看執行結果。這是十幾年前的舊產物,微軟已經停止更新它了,不支最新版PowerShell。
處置:無視
Power Automate
這是一個「免寫程式」的日常工作自動化工具。如果你每天重複做一些無聊的辦公室瑣事,你可以用這個軟體「錄製」你的動作,讓電腦每天自動幫你跑。
處置:無視
Azure Cloud Shell
微軟有一個巨大的雲端伺服器服務叫做Azure(跟亞馬遜的AWS、Google的GCP一樣)。這個程式是一個快捷鍵,讓企業的網管人員可以一鍵連線到他們租用的「雲端主機」去下指令。
處置:無視