WSL 的基本命令
下列 WSL 命令會分別以 PowerShell 或 Windows 命令提示字元支援的格式列出。 若要從 Bash/Linux 發行版本命令列執行這些命令,您必須將 wsl
取代為 wsl.exe
。 如需命令的完整清單,請執行 wsl --help
。 如果您尚未這麼做,建議您 更新至從 Microsoft Store 安裝的 WSL 版本,以便儘快接收 WSL 更新。 (深入瞭解透過 Microsoft Store 安裝 WSL。
wsl --install
安裝 WSL 和 Linux 的預設 Ubuntu 發行版本。 深入了解。 您也可以執行 wsl --install <Distribution Name>
以使用此命令安裝其他 Linux 發行版本。 如需有效的發行版本名稱清單,請執行 wsl --list --online
。
這些選項包括:
--distribution
:指定要安裝的 Linux 發行版本。 您可以執行 wsl --list --online
來尋找可用的發行版本。
--no-launch
:安裝 Linux 發行版本,但不會自動啟動。
--web-download
:從線上來源安裝 (不使用 Microsoft Store)。
未安裝 WSL 時的選項包括:
--inbox
:使用 Windows 元件安裝 WSL (不使用 Microsoft Store)。 (WSL 更新將透過 Windows 更新接收,而不是透過市集的即時更新推送)。
--enable-wsl1
:在安裝 Microsoft Store 版本 WSL 的期間啟用 WSL 1,同時啟用「Windows 子系統 Linux 版」選用元件。
--no-distribution
:在安裝 WSL 時,請勿同時安裝發行版本。
注意
如果您在 Windows 10 或較舊版本上執行 WSL,您可能需要在 -d
命令中包含 --install
旗標,以指定散發套件: wsl --install -d <distribution name>
。
wsl --list --online
請參閱線上商店提供的 Linux 發行版本清單。 此命令也可以輸入為:wsl -l -o
。
wsl --list --verbose
查看您 Windows 電腦上安裝的 Linux 發行版本清單,包括狀態 (發行版本正在執行或已停止) 以及執行發行版本的 WSL 版本 (WSL 1 或 WSL 2)。 比較 WSL 1 和 WSL 2。 此命令也可以輸入為:wsl -l -v
。 可與 list 命令搭配使用的其他選項包括:--all
會列出所有發行版本、--running
僅會列出目前正在執行的發行版本,或是以 --quiet
只顯示發行版本名稱。
wsl --set-version <distribution name> <versionNumber>
若要指定執行 Linux 發行版本的 WSL 版本 (1 或 2),請將 <distribution name>
取代為發行版本的名稱,並將 <versionNumber>
取代為 1 或 2。 比較 WSL 1 和 WSL 2。 WSL 2 僅適用於 Windows 11 或 Windows 10 1903 版 (組建 18362 或更新版本)。
警告
在 WSL 1 和 WSL 2 之間切換可能會很耗時,而且因為兩個架構之間的差異而導致失敗。 對於具有大型專案的散發套件,建議您先備份檔案,再嘗試轉換。
wsl --set-default-version <Version>
若要設定預設版本的 WSL 1 或 WSL 2,請將 取代 <Version>
為數位 1 或 2。 例如: wsl --set-default-version 2
。 此數位代表新 Linux 發行版安裝預設為 的 WSL 版本。 比較 WSL 1 和 WSL 2。 WSL 2 僅適用於 Windows 11 或 Windows 10 1903 版 (組建 18362 或更新版本)。
wsl --set-default <Distribution Name>
若要設定 WSL 命令將用來執行的預設 Linux 發行版本,請將 <Distribution Name>
取代為您偏好的 Linux 發行版本名稱。
wsl ~
~
可搭配 wsl 使用以在使用者的主目錄中啟動。 若要從 WSL 命令提示字元內的任意目錄跳回主目錄,您可以使用此命令:cd ~
。
透過 PowerShell 或 CMD 執行特定的 Linux 發行版本
wsl --distribution <Distribution Name> --user <User Name>
若要以特定使用者執行特定的 Linux 發行版本,請將 <Distribution Name>
取代為您偏好的 Linux 發行版本名稱 (即 Debian),並將 <User Name>
取代為現有使用者的名稱(即 root)。 如果 WSL 發行版本中不存在該名使用者,您會收到錯誤。 若要列出目前的使用者名稱,請使用命令 whoami
。
wsl --update
將您的 WSL 版本更新至最新版本。 這些選項包括:
--web-download
:從 GitHub 下載最新的更新 (而非 Microsoft Store)。
wsl --status
請參閱 WSL 設定的一般資訊,例如預設發行版本類型、預設發行版本和核心版本。
wsl --version
檢查 WSL 及其元件的版本資訊。
wsl --help
請參閱 WSL 可用的選項和命令清單。
wsl --user <Username>
若要以指定的使用者身分執行 WSL,請將 <Username>
取代為 WSL 發行版本中存在的使用者名稱。
<DistributionName> config --default-user <Username>
變更登入發行版本的預設使用者。 使用者必須已在發行版本內,才能成為預設使用者。
例如:ubuntu config --default-user johndoe
會將 Ubuntu 發行版本的預設使用者變更為「johndoe」使用者。
注意
如果您找不到發行版本的名稱,可使用命令 wsl -l
。
警告
此命令不適用於匯入的發行版本,因為這些發行版本沒有可執行檔啟動器。 您可以改為使用 /etc/wsl.conf
檔案來變更匯入發行版本的預設使用者。 請參閱進階設定組態文件中的「自動掛接」選項。
wsl --shutdown
立即終止所有執行中的發行版本和 WSL 2 輕量型公用程式虛擬機器。 在需要重新啟動 WSL 2 虛擬機器環境的情況下,可能需要此命令,例如變更記憶體使用量限制或變更 .wslconfig 檔案。
wsl --terminate <Distribution Name>
若要終止指定的發行版本,或使其停止執行,請將 <Distribution Name>
取代為目標發行版本的名稱。
wsl hostname -I
:傳回透過 WSL 2 安裝之 Linux 發行版的 IP 位址(WSL 2 VM 位址)
ip route show | grep -i default | awk '{ print $3}'
:傳回 Windows 計算機的 IP 位址,如 WSL 2 所見(WSL 2 VM)
如需更詳細的說明,請參閱 使用 WSL 存取網路應用程式:識別 IP 位址。
wsl --export <Distribution Name> <FileName>
將指定散發的快照集匯出為新的散發檔案。 預設為 tar 格式。 檔名可以是 -
標準輸入。 這些選項包括:
--vhd
:指定匯出散發應該是 .vhdx 檔案,而不是 tar 檔案(這隻支援使用 WSL 2)
wsl --import <Distribution Name> <InstallLocation> <FileName>
匯入指定的 tar 檔案作為新的散發套件。 檔名可以是 -
標準輸入。 這些選項包括:
--vhd
:指定匯入散發應該是 .vhdx 檔案,而不是 tar 檔案(這隻支援使用 WSL 2)
--version <1/2>
:指定要將散發匯入為 WSL 1 或 WSL 2 散發
wsl --import-in-place <Distribution Name> <FileName>
匯入指定的 .vhdx 檔案作為新的發行版本。 虛擬硬碟必須格式化為 ext4 檔案系統類型。
雖然 Linux 發行版本可透過 Microsoft Store 安裝,但無法透過 Microsoft Store 解除安裝。
若要取消註冊並解除安裝 WSL 發行版本:
wsl --unregister <DistributionName>
將 <DistributionName>
取代為您的目標 Linux 發行版本名稱,藉此將該發行版本從 WSL 移除,以便將其重新安裝或清除。 注意:一旦取消註冊,所有與該發行版本相關聯的資料、設定和軟體都會永久遺失。 從 Microsoft Store 重新安裝將會安裝一份全新的散發套件。 例如:wsl --unregister Ubuntu
會從 WSL 可用的發行版本中移除 Ubuntu。 執行 wsl --list
會看到該版本已不再列出。
您也可以將 Windows 電腦上的 Linux 發行版本應用程式解除安裝,如同從 Store 取得的其他應用程式一樣。 若要重新安裝,請在 Microsoft Store 中尋找發行版本,然後選取 [啟動]。
wsl --mount <DiskPath>
若要將連結並掛接所有 WSL2 發行版本中的實體磁碟,請將 <DiskPath>
取代為磁碟所在的「目錄/檔案」路徑。 請參閱在 WSL 2 中掛接 Linux 磁碟。 這些選項包括:
--vhd
:指定 <Disk>
指向虛擬硬碟。
--name
:使用掛接點的自訂名稱掛接磁碟
--bare
:將磁碟連結至 WSL2,但不掛接。
--type <Filesystem>
:掛接磁碟時要使用的檔案系統類型,如果未指定則預設為 ext4。 此命令也可以輸入為:wsl --mount -t <Filesystem>
。您可以使用 blkid <BlockDevice>
命令來偵測檔案系統類型,例如:blkid <dev/sdb1>
。
--partition <Partition Number>
:要掛接的磁碟分割索引編號,如果未指定,則預設為整個磁碟。
--options <MountOptions>
:掛接磁碟時有一些可包含的檔案系統特定選項。 例如 ext4 掛接選項:wsl --mount -o "data-ordered"
或 wsl --mount -o "data=writeback
等。 不過,目前僅支援檔案系統特定選項。 不支援泛型選項,例如 ro
、rw
或 noatime
。
注意
如果您要依序執行 32 位處理序以存取 wsl.exe (64 位元工具),可能需要以下列方式執行命令:C:\Windows\Sysnative\wsl.exe --command
。
wsl --unmount <DiskPath>
卸載指定磁碟路徑上的磁碟,如果沒有提供磁碟路徑,此命令將會卸載並中斷連結所有掛接的磁碟。
wslconfig.exe [Argument] [Options]
bash [Options]
lxrun /[Argument]
這些命令是原始 wsl 語法,用來設定透過 WSL 安裝的 Linux 發行版本,但現已取代為 wsl
或 wsl.exe
命令語法。