WSL 命令大全(完全指南)

WSL 命令大全(完全指南)

版本为wsl2对于早期的wsl命令以下手册不适用。

WSL 命令大全(完全指南)

1. 安装与管理

基础安装

# 安装 WSL(默认 Ubuntu) wsl --install # 安装指定发行版 wsl --install -d <发行版名称> # 列出可用发行版 wsl --list --online wsl -l -o # 简写# 更新 WSL wsl --update 

版本管理

# 查看 WSL 版本 wsl --version # 升级到 WSL2 wsl --set-version <发行版> 2 # 设置默认版本 wsl --set-default-version 2 

卸载与重置

# 完全卸载 WSL(Windows 功能) dism.exe /online /disable-feature/featurename:Microsoft-Windows-Subsystem-Linux dism.exe /online /disable-feature/featurename:VirtualMachinePlatform # 重启后生效 shutdown /r /t 0 

2. 发行版操作

列出发行版

# 列出所有已安装的发行版 wsl --list wsl -l # 简写# 详细列表(包含状态和版本) wsl --list --verbose wsl -l -v # 简写# 列出所有发行版(包括未运行的) wsl --list --all wsl -l -a # 简写# 列出正在运行的发行版 wsl --list --running wsl -l -r # 简写# 以安静模式输出(仅名称) wsl --list --quiet 

删除发行版

# 注销并删除发行版(⚠️数据会丢失!) wsl --unregister <发行版名称> # 示例 wsl --unregister Ubuntu wsl --unregister Debian wsl --unregister "Ubuntu-22.04"# 名称包含空格时用引号# 批量删除 wsl --list |ForEach-Object{ wsl --unregister $_}

重命名发行版

# WSL 没有直接的重命名命令,需要导出再导入 wsl --export Ubuntu ubuntu_backup.tar wsl --unregister Ubuntu wsl --import NewUbuntuName C:\WSL\NewUbuntu\ ubuntu_backup.tar 

3. 运行与控制

启动与进入

# 启动默认发行版 wsl wsl ~ # 从当前目录启动# 启动指定发行版 wsl -d <发行版名称> wsl --distribution <发行版名称> # 以特定用户启动 wsl -u <用户名> wsl --user <用户名> # 以 root 用户启动 wsl -u root wsl --user root # 启动但不进入 Shell wsl --exec <命令> wsl -e <命令> 

停止与控制

# 停止特定发行版 wsl --terminate <发行版名称> wsl -t <发行版名称> # 简写# 停止所有发行版 wsl --shutdown # 立即关闭 WSL wsl --shutdown --force # 暂停发行版 wsl --terminate <发行版> # 实际是停止

运行 Linux 命令

# 不进入 Shell 直接执行命令 wsl ls-la wsl pwd wsl whoami # 执行复杂命令 wsl bash -c "cd ~ && ls -la"# 从 PowerShell 传参 wsl echo"Hello from Windows" wsl grep "pattern"/path/to/file 

4. 导入与导出

备份与恢复

# 导出发行版到文件 wsl --export <发行版> <保存路径.tar> wsl --export Ubuntu D:\backups\ubuntu_backup.tar # 从文件导入发行版 wsl --import <发行版名称> <安装路径> <文件路径.tar> [选项] wsl --import Ubuntu C:\WSL\Ubuntu\ D:\backups\ubuntu_backup.tar # 导入时指定版本 wsl --import Ubuntu C:\WSL\Ubuntu\ backup.tar --version 2 # 导入为新发行版(不覆盖) wsl --import Ubuntu_Backup C:\WSL\Backup\ backup.tar 

压缩选项

# 导出时使用 vhdx 格式(WSL2 专用)# 需要手动复制 VHDX 文件# 位置:%LOCALAPPDATA%\Packages\<Package>\LocalState\ext4.vhdx# 检查导出文件信息 wsl --import --help 

5. 配置与设置

默认发行版设置

# 设置默认发行版 wsl --set-default <发行版名称> wsl -s <发行版名称> # 简写# 查看当前默认发行版 wsl --get-default# 更改默认用户(需要编辑配置文件)# 在 WSL 中运行: sudo nano /etc/wsl.conf # 添加:[user] default=yourusername 

全局配置

# 查看 WSL 配置 wsl --status # 生成诊断日志 wsl --collect-diagnostics # 重置 WSL 配置# 1. 停止所有发行版 wsl --shutdown # 2. 重启 LxssManager 服务 net stop LxssManager net start LxssManager 

wsl.conf 配置文件

# /etc/wsl.conf 示例[automount] enabled =true root = /mnt/ options ="metadata,uid=1000,gid=1000,umask=022" mountFsTab =true[network] generateHosts =true generateResolvConf =true[interop] enabled =true appendWindowsPath =true[user] default = yourusername [boot] systemd =true

6. 文件系统操作

跨系统文件访问

# 从 Windows 访问 Linux 文件 \\wsl$\Ubuntu\home\username \\wsl$\ # 列出所有发行版# 从 Linux 访问 Windows 文件/mnt/c/Users/Username /mnt/d/ # D盘# 在 PowerShell 中直接访问 cd \\wsl$\Ubuntu\home ls \\wsl$\Ubuntu\etc 

挂载管理

# 在 WSL 中挂载新驱动器 sudo mount-t drvfs D: /mnt/d # 查看磁盘空间 wsl df -h wsl --system df -h # 系统级信息# 检查文件系统 wsl fsck 

7. 网络与端口

网络配置

# 查看 IP 地址 wsl hostname -I wsl ip addr show # WSL2 固定 IP(需要 PowerShell 脚本)# 创建 %USERPROFILE%\.wslconfig[wsl2] networkingMode=mirrored dnsTunneling=true firewall=true autoProxy=true # 端口转发(Windows 中执行) netsh interface portproxy add v4tov4 listenport=80 listenaddress=0.0.0.0 connectport=80 connectaddress=192.168.101.100 

服务管理

# 在 WSL 中启动服务 wsl sudo service ssh start wsl sudo systemctl start nginx # 检查端口监听 wsl netstat -tulpn wsl ss -tulpn 

8. 用户管理

用户操作

# 创建新用户(在 WSL 中) wsl sudo adduser newuser # 更改密码 wsl sudo passwd username # 切换用户 wsl su - username wsl sudo -i # 切换到 root

默认用户设置

# 方法1:修改 wsl.conf# 方法2:使用 PowerShell 命令 <发行版> config --default-user <用户名> # 示例: ubuntu config --default-user myuser ubuntu2004 config --default-user myuser 

9. 诊断与日志

诊断命令

# 查看 WSL 状态 wsl --status # 收集诊断信息 wsl --collect-diagnostics # 查看日志 wsl --log tail # 实时日志 wsl --log dump # 导出日志# 启用详细日志# 创建或编辑 %USERPROFILE%\.wslconfig[wsl2] kernelCommandLine = "systemd.unified_cgroup_hierarchy=0 debug"

常见问题排查

# 检查 WSL 是否运行正常 wsl --list --verbose # 重启 WSL 服务 net stop LxssManager && net start LxssManager # 重置网络 wsl sudo dhclient -r && wsl sudo dhclient # 检查内存使用 wsl free -h wsl top 

10. 实用技巧

快捷命令

# 常用别名设置(添加到 PowerShell Profile)function wsl-list { wsl -l -v }function wsl-stop { wsl --shutdown }function wsl-ubuntu { wsl -d Ubuntu }function wsl-debian { wsl -d Debian }# 从当前目录启动 WSLfunction wsl-here {$currentPath = (Get-Location).Path wsl --cd $currentPath}

集成开发环境

# VS Code 集成 code --remote wsl+Ubuntu # Docker 集成 wsl docker --version # 在 WSL 中运行 VS Code wsl code .

性能优化

# 配置内存限制# 编辑 %USERPROFILE%\.wslconfig[wsl2] memory=4GB # 限制内存使用 processors=4 # CPU 核心数 localhostForwarding=true # 磁盘清理 wsl sudo apt clean wsl sudo apt autoremove 

跨平台脚本

# 混合 PowerShell 和 Bash 脚本$files = wsl ls/home/user/documents foreach($file in $files){ wsl cat"/home/user/documents/$file"|Out-File"C:\temp\$file.txt"}# 从 Windows 调用 Linux 工具 wsl grep -r "pattern"/path |Select-String"pattern"

🔧 快速参考表

类别常用命令说明
列表wsl -l -v查看所有发行版
启动wsl启动默认发行版
停止wsl --shutdown关闭所有 WSL
删除wsl --unregister删除发行版
导出wsl --export备份发行版
导入wsl --import恢复发行版
运行wsl <命令>执行 Linux 命令
用户wsl -u root以 root 运行
目录wsl ~从用户目录启动
状态wsl --status查看 WSL 状态

📚 更多资源

# 获取完整帮助 wsl --help wsl --help full # 官方文档start https://docs.microsoft.com/windows/wsl/ # 社区资源start https://github.com/microsoft/WSL 

Read more

玩转ClaudeCode:ClaudeCode安装教程(Windows+Linux+MacOS)

玩转ClaudeCode:ClaudeCode安装教程(Windows+Linux+MacOS)

本文介绍如何安装 AI 编码界一骑绝尘的最强工具 ——— Claude Code。安装不同的操作系统环境,本文会从 Windows、Linux、Mac 三个不同的系统环境依次介绍安装方法。 其中,Windows 系统作为大家最主流的操作系统,提供了两种安装方式,一种方式是直接在 Windows 的终端里安装,另一种是在 Windows 的子系统(WSL)内完成安装。其中,通过 WSL 安装,我们又可以分为,WSL 环境的直装和基于 WSL 的容器化安装(Docker),几种方法各有利弊,但均可正常使用。 Windows 环境直装 Claude Code 1. 获取 Claude Code 账号 访问 Claude Code 中国镜像站,完成账户注册。 输入邀请码

By Ne0inhk
人工智能:扩散模型(Diffusion Model)原理与图像生成实战

人工智能:扩散模型(Diffusion Model)原理与图像生成实战

人工智能:扩散模型(Diffusion Model)原理与图像生成实战 1.1 本章学习目标与重点 💡 学习目标:掌握扩散模型的核心原理、前向扩散与反向扩散过程,以及基于扩散模型的图像生成任务实战流程。 💡 学习重点:理解扩散模型的噪声添加与噪声消除机制,学会使用 PyTorch 搭建 DDPM 模型,完成手写数字图像生成任务。 1.2 扩散模型的核心思想 1.2.1 为什么需要扩散模型 💡 传统的生成模型(如 GAN)存在训练不稳定、模式崩溃等问题。扩散模型作为一种基于概率的生成模型,通过逐步添加噪声和逐步去除噪声的双向过程,实现了更稳定的训练和更高质量的生成效果。 扩散模型的灵感来源于非平衡热力学,它的核心是将复杂的生成问题拆解为多个简单的马尔可夫链步骤。在图像生成、文本生成、语音合成等领域,扩散模型的表现已经超越了传统生成模型。 1.2.2 扩散模型的基本框架 💡 扩散模型包含两个核心过程:前向扩散过程和反向扩散过程。 1. 前向扩散过程:从真实数据出发,

By Ne0inhk
Flutter 组件 ews 的适配 鸿蒙Harmony 实战 - 深度对接企业级 Exchange 服务、实现鸿蒙端邮件与日程的高效分发及 SOAP 协议连接方案

Flutter 组件 ews 的适配 鸿蒙Harmony 实战 - 深度对接企业级 Exchange 服务、实现鸿蒙端邮件与日程的高效分发及 SOAP 协议连接方案

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 ews 的适配 鸿蒙Harmony 实战 - 深度对接企业级 Exchange 服务、实现鸿蒙端邮件与日程的高效分发及 SOAP 协议连接方案 前言 在企业级移动应用的开发版图中,与微软 Exchange Server 的深度集成始终是核心业务需求之一。无论是实时获取会议预约,还是同步企业内部通讯录,Exchange Web Services (EWS) 协议都是那座连接移动端与企业后台的稳健桥梁。 ews 库为 Flutter 提供了工业级的、基于 SOAP 协议的客户端实现。然而,当你试图在鸿蒙系统(OpenHarmony)中拉取成千上万封加密邮件时,如何处理复杂的 XML 解析开销?如何在鸿蒙受限的网络后台准确维持长连接心跳? 适配 ews 到鸿蒙平台,实质上是在进行一场关于“

By Ne0inhk