共用方式為


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 市集。 (WSL 更新將會透過 Windows 更新接收,而不是通過商店立即推送更新)。
  • --enable-wsl1:在安裝Microsoft市集版本的 WSL 期間啟用 WSL 1,同時啟用「適用於 Linux 的 Windows 子系統」選用元件。
  • --no-distribution:安裝 WSL 時,請勿安裝發行版。

注意

如果您在 Windows 10 或較舊版本上執行 WSL,您可能需要將 -d 旗標與 --install 命令一起使用以指定發行版本:wsl --install -d <distribution name>

列出可用的Linux發行版

wsl --list --online

請參閱透過在線商店取得的Linux發行版清單。 這個指令也可以輸入為:wsl -l -o

列出已安裝的Linux發行版

wsl --list --verbose

查看安裝在 Windows 電腦上的 Linux 發行版清單,包括狀態(無論是正在執行或已停止),以及執行該發行版的 WSL 版本(WSL 1 或 WSL 2)。 比較 WSL 1 和 WSL 2。 這個指令也可以輸入為:wsl -l -v。 可與 list 命令搭配使用的其他選項包括:--all 列出所有散發套件、--running 只列出目前正在執行的散發套件,或 --quiet 只顯示散發套件名稱。

將 WSL 版本設定為 1 或 2

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 版本

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 或較新版本。

設定預設 Linux 散發套件

wsl --set-default <Distribution Name>

若要設定 WSL 命令將用來執行的預設 Linux 發行版,請將 <Distribution Name> 取代為您慣用的 Linux 發行版名稱。

在使用者的主目錄中啟動 WSL

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

wsl --update

將您的 WSL 版本更新為最新版本。 選項包括:

  • --web-download:從 GitHub 下載最新的更新,而不是 Microsoft 商店。

檢查 WSL 狀態

wsl --status

請參閱 WSL 設定的一般資訊,例如預設發行版類型、預設發行版和核心版本。

檢查 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> 取代為目標發行版本的名稱。

識別IP位址

  • wsl hostname -I:傳回透過 WSL 2 安裝的 Linux 發行版 IP 位址(WSL 2 VM 位址)
  • ip route show | grep -i default | awk '{ print $3}':從 WSL 2 傳回 Windows 電腦的 IP 位址(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 發行版

雖然 Linux 發行版可以透過 Microsoft 市集安裝,但無法透過存放區卸載。

若要取消註冊並卸載 WSL 發行版:

wsl --unregister <DistributionName>

以目標 Linux 發行版的名稱取代 <DistributionName>,將會從 WSL 取消註冊該發行版,以便重新安裝或清理。 注意: 一旦取消註冊,與該散發相關聯的所有數據、設定和軟體都將永久遺失。 從商店重新安裝將會安裝發行版的乾淨的版本。 例如,wsl --unregister Ubuntu 會從 WSL 中可用的發行版中移除 Ubuntu。 執行 wsl --list 會發現它不再列出。

您也可以將 Windows 電腦上的 Linux 散發應用程式卸載,就像任何其他市集應用程式一樣。 若要重新安裝,請在 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。 不過,目前僅支援文件系統特定的選項。 不支援泛型選項,例如 rorwnoatime

注意

如果您要執行 32 位行程以存取 wsl.exe (64 位工具),您可能需要以下列方式執行命令:C:\Windows\Sysnative\wsl.exe --command

卸除磁碟

wsl --unmount <DiskPath>

在指定的磁碟路徑卸載磁碟,如果沒有提供磁碟路徑,則此命令將卸載並卸離所有已掛接的磁碟。

不建議使用的 WSL 命令

wslconfig.exe [Argument] [Options]
bash [Options]
lxrun /[Argument]

這些命令是用來設定隨 WSL 安裝之 Linux 發行版的原始 wsl 語法,但已取代為 wslwsl.exe 命令語法。