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

Docker Desktop 安装 wsl问题

Docker Desktop 安装 wsl 问题 遇到问题:wsl --install 或者 wsl --install 证书作者无效或不正确 解决: 1.根证书导致wsl --install命令出错。 分析:错误提示表明在尝试安装 WSL 时遇到了证书问题 解决:更新根证书。 打开 PowerShell(管理员)输入命令更新证书: certutil -generateSSTFromWU roots.sst 2.导入根证书 certutil -addstore -f ROOT roots.sst 再次执行就可成功下载或者更新wsl

By Ne0inhk
Linux ELF格式与可执行程序加载全解析:从磁盘文件到运行进程

Linux ELF格式与可执行程序加载全解析:从磁盘文件到运行进程

🔥个人主页:Cx330🌸 ❄️个人专栏:《C语言》《LeetCode刷题集》《数据结构-初阶》《C++知识分享》 《优选算法指南-必刷经典100题》《Linux操作系统》:从入门到入魔 《Git深度解析》:版本管理实战全解 🌟心向往之行必能至 🎥Cx330🌸的简介: 目录 前言: 一、ELF文件:Linux二进制的标准载体 1.1 ELF文件的四大类型 1.2 ELF文件的双重视角:Section与Segment 1.3 ELF核心结构:从头部到加载指引 (1)ELF Header(文件头) (2)Program Header Table(程序头表) (3)Section Header Table(节头表) 二. ELF 的生命周期:从源码到运行

By Ne0inhk
国产时序数据库的云原生实践:Apache IoTDB 与 TimechoDB 在物联网场景的深度应用

国产时序数据库的云原生实践:Apache IoTDB 与 TimechoDB 在物联网场景的深度应用

国产时序数据库的云原生实践:Apache IoTDB 与 TimechoDB 在物联网场景的深度应用 前言 随着物联网设备规模的指数级增长,传感器产生的海量时序数据对传统数据库的性能、可扩展性与成本控制提出了更高要求。Apache IoTDB 作为专为物联网场景设计的时序数据库,凭借高压缩比、百万级写入能力及毫秒级查询性能,成为物联网数据存储与分析的核心基础。本文将从 IoTDB 的核心特性出发,深入讲解其在 Kubernetes 环境中的部署实践、CRUD 操作示例,并延伸至 TimechoDB 的国产化增强能力,帮助读者全面掌握从单节点到云原生集群的 IoTDB 实战部署与应用方法。 Apache IoTDB 核心特性与价值 Apache IoTDB 专为物联网场景打造的高性能轻量级时序数据库,以"设备 - 测点"原生数据模型贴合物理设备与传感器关系,通过高压缩算法、百万级并发写入能力和毫秒级查询响应优化海量时序数据存储成本与处理效率。其主要优势包括:物联网原生优化,完美映射物理设备与传感器关系;极致性能表现,通过特殊编码算法实现10:

By Ne0inhk