文章目錄
- win11安裝WSL
- 設置 Linux 用戶名和密碼
- 更改或重置密碼
- 更新和升級軟件包
- WSL 命令互操作性
- WSL 的基本命令
- 安裝
- 列出可用的 Linux 發行版
- 列出已安裝的 Linux 發行版
- 將 WSL 版本設置為 1 或 2
- 設置默認 WSL 版本
- 設置默認 Linux 發行版
- 將目錄更改為主頁
- 通過 PowerShell 或 CMD 運行特定的 Linux 發行版
- 更新 WSL
- 檢查 WSL 狀態
- 檢查 WSL 版本
- Help 命令
- 以特定用戶的身份運行
- 更改發行版的默認用戶
- 關閉
- Terminate
- 標識 IP 地址
- 導出分發版
- 導入分發版
- 就地導入發行版
- 注銷或卸載 Linux 發行版
- 裝載磁盤或設備
- 卸載磁盤
- 已棄用的 WSL 命令
win11安裝WSL
開發人員可以在 Windows 計算機上同時訪問 Windows 和 Linux 的強大功能。 通過適用于 Linux 的 Windows 子系統 (WSL),開發人員可以安裝 Linux 發行版(例如 Ubuntu、OpenSUSE、Kali、Debian、Arch Linux 等),并直接在 Windows 上使用 Linux 應用程序、實用程序和 Bash 命令行工具,不用進行任何修改,也無需承擔傳統虛擬機或雙啟動設置的費用。
先決條件
必須運行 Windows 10 版本 2004 及更高版本(內部版本 19041 及更高版本)或 Windows 11 才能使用以下命令。 如果使用的是更早的版本,請參閱手動安裝頁。
安裝 WSL 命令
現在,可以使用單個命令安裝運行 WSL 所需的一切內容。 在管理員模式下打開 PowerShell 或 Windows 命令提示符,方法是右鍵單擊并選擇“以管理員身份運行”,輸入 wsl --install
命令,然后重啟計算機
。
PowerShell
wsl --install
此命令將啟用運行 WSL 并安裝 Linux 的 Ubuntu 發行版所需的功能。
執行完命令,重啟電腦后發現無法打開文件夾。再次執行命令,命令執行完成后,彈出新窗口,標題為Linux的Windows子系統
。
神奇的是在地址欄,輸入
cd \\wsl.localhost\
回車,居然是可以訪問的。再次點擊快捷方式時,恢復正常。
啟動系統,并設置用戶名和密碼。出現Create a default Unix user account
時,輸入用戶名,回車。出現New password
,輸入密碼,注意,密碼不顯示出來。出現Retype new password
再次輸入相同的密碼。
PS C:\Users\MagicBook> wsl.exe -d Ubuntu
Provisioning the new WSL instance Ubuntu
This might take a while...
Create a default Unix user account: magic
New password:
Retype new password:
passwd: password updated successfully
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.Welcome to Ubuntu 24.04.2 LTS (GNU/Linux 5.15.167.4-microsoft-standard-WSL2 x86_64)* Documentation: https://help.ubuntu.com* Management: https://landscape.canonical.com* Support: https://ubuntu.com/proSystem information as of Fri May 2 11:57:31 CST 2025System load: 0.0 Processes: 31Usage of /: 0.1% of 1006.85GB Users logged in: 0Memory usage: 5% IPv4 address for eth0: 172.24.26.194Swap usage: 0%This message is shown once a day. To disable it please create the
/home/magic/.hushlogin file.
magic@LAPTOP-20250502:/mnt/c/Users/MagicBook$
常用命令
查看系統版本命令
# 查看系統版本
$ cat /etc/os-releasePRETTY_NAME="Ubuntu 24.04.2 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.2 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=noble
LOGO=ubuntu-logo
退出子系統環境命令
# 退出子系統環境
exit# 關閉子系統
wsl --shutdown# 下次進入可以僅輸入wsl
wsl
設置 Linux 用戶名和密碼
使用 WSL 安裝 Linux 發行版的過程完成后,使用“開始”菜單打開該發行版(默認情況下為 Ubuntu)。 系統將要求你為 Linux 發行版創建“用戶名”和“密碼”。
- 此用戶名和密碼特定于安裝的每個單獨的 Linux 分發版,與 Windows 用戶名無關。
- 請注意,輸入密碼時,屏幕上不會顯示任何內容。 這稱為盲人鍵入。 你不會看到你正在鍵入的內容,這是完全正常的。
- 創建用戶名和密碼后,該帳戶將是分發版的默認用戶,并將在啟動時自動登錄。
- 此帳戶將被視為 Linux 管理員,能夠運行
sudo
(Super User Do) 管理命令。 - 在 WSL 上運行的每個 Linux 發行版都有其自己的 Linux 用戶帳戶和密碼。 每當添加分發版、重新安裝或重置時,都必須配置一個 Linux 用戶帳戶。
隨 WSL 一起安裝的 Linux 發行版是按用戶安裝,不可與其他 Windows 用戶帳戶共享。
更改或重置密碼
若要更改或重置密碼,請打開 Linux 發行版并輸入命令:passwd
。 系統會要求你輸入當前密碼,然后要求輸入新密碼,之后再確認新密碼。
如果忘記了 Linux 分發版的密碼:
-
請打開 PowerShell,并使用以下命令進入默認 WSL 分發版的根目錄:
wsl -u root
如果需要在非默認的分發版中更新忘記的密碼,請使用命令:
wsl -d Debian -u root
,并將Debian
替換為目標分發版的名稱。 -
在 PowerShell 內的根級別打開 WSL 發行版后,可使用此命令更新密碼:
passwd
,其中 `` 是發行版中帳戶的用戶名,而你忘記了它的密碼。 -
系統將提示你輸入新的 UNIX 密碼,然后確認該密碼。 在您被告知密碼已正確更新后,請在 PowerShell 內使用以下命令關閉 WSL:
exit
。
更新和升級軟件包
建議使用發行版的首選包管理器定期更新和升級包。 對于 Ubuntu 或 Debian,請使用以下命令:
sudo apt update && sudo apt upgrade
Windows 不會自動更新或升級 Linux 分發版。 大多數 Linux 用戶往往傾向于自行控制此任務。
WSL 命令互操作性
通過 WSL 安裝的 Linux 發行版最好使用 PowerShell 或 Windows 命令提示符 (CMD) 進行管理。 有關使用 WSL 時需要熟悉的基本命令的列表,請參閱 WSL 命令參考指南。
此外,許多命令在 Windows 和 Linux 之間都具有互操作性。 下面是幾個示例:
- 從 Windows 命令行運行 Linux 工具:打開 PowerShell,通過輸入以下內容使用 Linux
ls -la
命令顯示C:\temp>
的目錄內容:wsl ls -la
- 混合 Linux 和 Windows 命令:在此示例中,使用 Linux 命令
ls -la
列出目錄中的文件,然后使用 PowerShell 命令findstr
篩選包含“git”的單詞的結果:wsl ls -la | findstr "git"
。 這還可以通過混合使用 Windowsdir
命令和 Linuxgrep
命令來實現:dir | wsl grep git
。 - 直接從 WSL 命令行運行 Windows 工具:
.exe
。例如,若要打開 .bashrc 文件(啟動 Linux 命令行時運行的 shell 腳本),請輸入:notepad.exe .bashrc
- 使用 Linux Grep 工具運行 Windows ipconfig.exe 工具:從 Bash 輸入命令
ipconfig.exe | grep IPv4 | cut -d: -f2
或從 PowerShell 輸入ipconfig.exe | wsl grep IPv4 | wsl cut -d: -f2
。此示例演示了 Windows 文件系統上的 ipconfig 工具,該工具先是用于顯示當前 TCP/IP 網絡配置值,然后通過 Linux 工具 grep 被篩選為僅顯示 IPv4 結果。
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 組件(而不是 Microsoft Store)安裝 WSL。 (WSL 更新將通過 Windows 更新接收,而不是通過 Microsoft Store 中推送的可用更新來接收)。--enable-wsl1
:在安裝 Microsoft Store 版本的 WSL 的過程中也啟用“適用于 Linux 的 Windows 子系統”可選組件,從而啟用 WSL 1。--no-distribution
:安裝 WSL 時不安裝發行版。
備注
如果在 Windows 10 或更低版本上運行 WSL,可能需要在 --install
命令中包含 -d
標志以指定發行版: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 命令提示符中從任何目錄跳回到主目錄,可使用命令 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 Store 下載最新更新。
檢查 WSL 狀態
wsl --status
查看有關 WSL 配置的常規信息,例如默認發行版類型、默認發行版和內核版本。
檢查 WSL 版本
wsl --version
檢查有關 WSL 及其組件的版本信息。
Help 命令
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 文件,可能必須使用此命令。
Terminate
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 (WSL 2 VM) 看到的 Windows 計算機的 IP 地址
有關更詳細的說明,請參閱使用 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 安裝 Linux 發行版,但無法通過 Store 將其卸載。
注銷并卸載 WSL 發行版:
wsl --unregister <DistributionName>
如果將 <DistributionName>
替換為目標 Linux 發行版的名稱,則將從 WSL 取消注冊該發行版,以便可以重新安裝或清理它。 警告:取消注冊后,與該分發版關聯的所有數據、設置和軟件將永久丟失。 從 Store 重新安裝會安裝分發版的干凈副本。 例如:wsl --unregister Ubuntu
將從可用于 WSL 的發行版中刪除 Ubuntu。 運行 wsl --list
將會顯示它不再列出。
還可以像卸載任何其他應用商店應用程序一樣卸載 Windows 計算機上的 Linux 發行版應用。 若要重新安裝,請在 Microsoft Store 中找到該發行版,然后選擇“啟動”。
裝載磁盤或設備
wsl --mount <DiskPath>
通過將 <DiskPath>
替換為物理磁盤所在的目錄\文件路徑,在所有 WSL2 發行版中附加和裝載該磁盤。 請參閱在 WSL 2 中裝載 Linux 磁盤。 選項包括:
--vhd
:指定<DiskPath>
引用虛擬硬盤。--name
:使用裝入點的自定義名稱裝載磁盤--bare
:將磁盤附加到 WSL2,但不進行裝載。--type <Filesystem>
:裝載磁盤時使用的文件系統類型默認為 ext4(如果未指定)。 此命令也可輸入為:wsl --mount -t <Filesystem>
。可以使用blkid <BlockDevice>
命令檢測文件系統類型,例如:blkid <dev/sdb1>
。--partition <Partition Number>
:要裝載的分區的索引號默認為整個磁盤(如果未指定)。--options <MountOptions>
:裝載磁盤時,可以包括一些特定于文件系統的選項。 例如,wsl --mount -o "data-ordered"
或wsl --mount -o "data=writeback
之類的 ext4 裝載選項。 但是,目前僅支持特定于文件系統的選項。 不支持通用選項,例如ro
、rw
或noatime
。
備注
如果你正在運行 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 語法,但已替換為 wsl
或 wsl.exe
命令語法。