029_WSL2 常用操作速览

内容分享2小时前发布
0 0 0

1. 安装与设置

1.1 基础安装

命令

说明

示例

wsl –install

一键安装WSL和默认的Linux发行版(一般是Ubuntu)

wsl –install -d <Distro>

安装指定的Linux发行版

wsl –install -d Debian

wsl –update

更新WSL内核和系统组件到最新版本

wsl –update rollback

回滚到上一版本的WSL内核

wsl –set-default-version 2

设置新安装的发行版默认使用WSL2

请注意:在新版本的Windows 10和Windows 11中,一般只需执行wsl –install命令即可完成安装和配置。手册以当前主流的WSL 2为准。

1.2 版本检查与设置

powershell

# 检查当前WSL版本
wsl --status

# 查看WSL版本信息
wsl --version

# 设置默认使用WSL2
wsl --set-default-version 2

2. 发行版管理

2.1 基本管理命令

命令

说明

示例

wsl -l 或 wsl –list

列出已安装的所有发行版

wsl -l -v 或 wsl –list –verbose

列出已安装发行版的详细信息(包括名称、状态、WSL版本)

wsl –set-version <Distro> <Version>

将指定发行版在WSL 1和2之间转换

wsl –set-version Ubuntu 2

wsl –set-default <Distro>

设置默认的Linux发行版

wsl –set-default Ubuntu

wsl –terminate <Distro>

终止(停止)指定的发行版运行

wsl –terminate Debian

wsl –shutdown

立即关闭所有正在运行的发行版和WSL2虚拟机,释放资源

2.2 备份与恢复

命令

说明

示例

wsl –export <Distro> <FileName>

将指定发行版导出为tar格式的备份文件

wsl –export Ubuntu .ubuntu_backup.tar

wsl –import <Distro> <InstallLocation> <FileName>

从备份文件导入一个新的发行版

wsl –import NewUbuntu .WSL .ubuntu_backup.tar

wsl –unregister <Distro>

注销并卸载指定发行版(会永久删除该发行版及其所有数据!)

wsl –unregister OldLinux

3. 运行与操作

3.1 启动与退出

命令

说明

示例

wsl

启动默认的Linux发行版

wsl -d <Distro>

启动指定的Linux发行版

wsl -d Debian

wsl ~

在用户的主目录中启动Linux发行版

wsl –user <Username>

以指定用户身份运行WSL

wsl –user root

wsl <Linux命令>

不进入Shell,直接在Windows中执行单条Linux命令

wsl ls -la
wsl sudo apt update

exit

在WSL Shell中运行此命令可以退出并关闭该发行版

3.2 用户管理

bash

# 更改发行版的默认用户(适用于Ubuntu等发行版)
<DistributionName> config --default-user <Username>

# 示例:将Ubuntu的默认用户改为"johndoe"
ubuntu config --default-user johndoe

注意:此命令可能不适用于所有发行版,尤其是手动导入的。对于导入的发行版,一般需要通过修改/etc/wsl.conf文件来更改默认用户。

4. 文件系统交互

4.1 跨系统文件访问

命令

说明

示例

explorer.exe .

在WSL中运行,会在Windows文件资源管理器中打开当前Linux目录

\\wsl$\<Distro>\

在Windows文件资源管理器的地址栏输入,可直接访问WSL发行版的文件系统

\\wsl$\Ubuntu-22.04\home

/mnt/c/Users/

在WSL中访问Windows的C盘用户目录

cd /mnt/c/Users/YourName

wslpath -w <Linux路径>

将Linux路径转换为Windows路径

wslpath -w /home/user

notepad.exe <文件>

用Windows的记事本打开WSL中的文件

notepad.exe ./example.txt

4.2 路径转换工具

bash

# Linux路径转Windows路径
wslpath -w /home/user/documents

# Windows路径转Linux路径
wslpath -u "C:UsersYourName"

5. 系统信息与状态

5.1 状态检查命令

命令

说明

示例

wsl –status

查看WSL的总体状态,包括默认版本、内核版本等配置信息

wsl –version

查看WSL及其各组件的版本信息

wsl –help

查看所有WSL命令和选项的协助信息

ip addr

在WSL中运行,查看WSL虚拟机的IP地址

5.2 网络诊断

bash

# 查看WSL网络接口信息
ip addr show eth0

# 测试网络连通性
ping google.com

# 查看端口监听情况
netstat -tulpn

6. 进阶配置与调优

6.1 资源限制配置(.wslconfig)

在Windows用户目录(如C:Users<YourUserName>)下创建名为.wslconfig的文件,来全局控制WSL2虚拟机的资源使用。

示例配置:

ini

[wsl2]
memory=8GB        # 限制最大内存使用
processors=4      # 限制使用的CPU核心数
swap=0            # 设置交换空间大小
localhostForwarding=true # 开启localhost端口转发

常用配置选项:

  • memory: 最大内存限制(如4GB、8GB)
  • processors: CPU核心数
  • swap: 交换空间大小(0表明禁用)
  • localhostForwarding: 是否启用localhost端口转发
  • kernel: 自定义内核路径
  • kernelCommandLine: 内核启动参数

重大:修改此配置后,需要运行 wsl –shutdown 重启WSL才能生效。

6.2 WSL发行版配置(/etc/wsl.conf)

/etc/wsl.conf 文件允许你精细控制WSL与Windows的交互方式,配置在WSL发行版内部进行。

6.2.1 常用配置详解

配置段

配置项

说明与常用值

[interop]
(交互操作)

enabled

true(默认): 允许运行Windows原生程序(如notepad.exe)。
false: 禁用运行Windows程序。

appendWindowsPath

true(默认): 将Windows的PATH附加到WSL的PATH后。
false: 不自动附加Windows PATH,保持WSL环境纯净,避免工具冲突。

[network]
(网络)

generateHosts

true(默认): WSL自动生成/etc/hosts文件。
false: 不自动生成。

generateResolvConf

true(默认): WSL自动生成/etc/resolv.conf文件。
false: 不自动生成。

[user]
(用户)

default

设置默认登录用户,例如:default = yourusername。

[automount]
(自动挂载)

enabled

true(默认): 自动挂载Windows驱动器。
false: 禁用自动挂载。

root

设置Windows驱动器的挂载点,默认:/mnt/

6.2.2 配置示例与操作步骤

典型配置示例:

ini

# 示例:优化WSL配置
[interop]
enabled = true          # 允许运行Windows程序
appendWindowsPath = false # 关键:不自动混合Windows路径,避免冲突

[network]
generateHosts = true
generateResolvConf = true

[user]
default = yourusername   # 替换为你的WSL用户名

[automount]
enabled = true
root = /mnt/

配置步骤:

  1. 在WSL的终端中,运行以下命令(需要sudo权限):
  2. bash
  3. sudo nano /etc/wsl.conf
  4. 写入配置内容,保存并退出编辑器(在nano中按Ctrl+X,然后按Y确认,最后回车)。
  5. 重启WSL使配置生效:
  6. powershell
  7. wsl –shutdown
  8. 之后重新打开WSL终端即可。

6.2.3 路径管理进阶

禁用 appendWindowsPath 后,如果仍需要频繁使用某个Windows程序,可以手动将其所在路径添加到WSL的PATH环境变量中。

例如,添加常用工具路径:

bash

# 在WSL的shell配置文件(如~/.bashrc或~/.zshrc)中添加:

# VSCode
export PATH=$PATH:"/mnt/c/Program Files/Microsoft VS Code/bin"

# Windows System32(用于运行一些Windows工具)
export PATH=$PATH:"/mnt/c/Windows/System32"

# 其他常用Windows程序路径
export PATH=$PATH:"/mnt/c/Program Files/Git/cmd"

添加后执行 source ~/.bashrc 或重新启动终端即可生效。

6.3 性能优化提议

  1. 将项目文件存储在WSL文件系统中
  2. 访问Linux文件系统:/home/username/projects
  3. 避免在/mnt/c/下直接操作Windows文件,以获得更好的I/O性能
  4. 合理配置内存限制
  5. 开发环境:4-8GB内存一般足够
  6. 内存密集型任务:根据需求调整,但不要超过系统总内存的80%
  7. 禁用不必要的服务
  8. 在WSL中禁用不需要的systemd服务
  9. 使用轻量级替代方案

7. 故障排除与常用技巧

7.1 常见问题解决

WSL启动失败:

powershell

# 重置WSL状态
wsl --shutdown
# 等待几秒后重新启动

网络连接问题:

bash

# 在WSL中重置网络
sudo dhclient -r
sudo dhclient

文件权限问题:

bash

# 修复WSL中的文件权限
sudo chown -R $USER:$USER ~/

7.2 实用技巧

在Windows中快速打开WSL当前目录:

bash

# 在WSL中执行
explorer.exe .

在WSL中直接使用Windows编辑器:

bash

# 使用VSCode打开当前目录
code .

# 使用Notepad++打开文件(如果已安装)
notepad++ filename.txt

端口转发检查:

bash

# 查看WSL中监听的端口
netstat -tulpn

# 在Windows中测试端口连通性
telnet localhost <port>

这份完整手册涵盖了WSL2的安装、日常使用、配置优化和故障排除等方面。提议根据实际需求调整配置,并定期查看微软官方WSL文档获取最新信息。

© 版权声明

相关文章

暂无评论

none
暂无评论...