惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Security Latest
Security Latest
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Stack Overflow Blog
Stack Overflow Blog
WordPress大学
WordPress大学
N
Netflix TechBlog - Medium
GbyAI
GbyAI
云风的 BLOG
云风的 BLOG
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
宝玉的分享
宝玉的分享
博客园 - 【当耐特】
C
Cyber Attacks, Cyber Crime and Cyber Security
雷峰网
雷峰网
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
T
Threat Research - Cisco Blogs
NISL@THU
NISL@THU
Spread Privacy
Spread Privacy
P
Proofpoint News Feed
J
Java Code Geeks
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
MyScale Blog
MyScale Blog
T
Tor Project blog
P
Proofpoint News Feed
C
CERT Recently Published Vulnerability Notes
P
Privacy & Cybersecurity Law Blog
MongoDB | Blog
MongoDB | Blog
Simon Willison's Weblog
Simon Willison's Weblog
C
Cybersecurity and Infrastructure Security Agency CISA
L
LINUX DO - 热门话题
小众软件
小众软件
G
GRAHAM CLULEY
P
Privacy International News Feed
AWS News Blog
AWS News Blog
Know Your Adversary
Know Your Adversary
P
Palo Alto Networks Blog
人人都是产品经理
人人都是产品经理
S
Schneier on Security
Scott Helme
Scott Helme
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
B
Blog RSS Feed
T
The Exploit Database - CXSecurity.com
Recent Announcements
Recent Announcements
E
Exploit-DB.com RSS Feed
C
CXSECURITY Database RSS Feed - CXSecurity.com
U
Unit 42
The Register - Security
The Register - Security
S
Securelist
Martin Fowler
Martin Fowler
Project Zero
Project Zero
大猫的无限游戏
大猫的无限游戏
Cisco Talos Blog
Cisco Talos Blog

博客园 - dirgo

关于vxe-table v4 导出大数据量excel浏览器卡死问题的解决 开源的Linux换源和安装docker脚本 使用网页静默打印 在Oracle中,授予用户角色和权限 Linux下查看当前哪些端口在监听状态,哪些端口在连接状态 mobaxterm常用配置 Windows下udp工具 Oracle表空间用户授权创建dblink等操作 用nmap扫描找出某个网段下空闲的ip脚本 Oracle 19c 常用运维 SQL Linux下设置CDB/PDB 环境的Oracle19c开机启动 Oracle是 CDB/PDB 环境下,让PDB在数据库启动后自动打开 怎样禁止dbeaver点击导航中数据库自动切换sql编辑器所属的数据库 Oracle 19c占内存高的解决方法 sudo -i -u zhangsan 与su - zhangsan区别,在现代 Linux 系统中,推荐使用 sudo 进行权限切换 Linux 的目录结构英文全称(及可能的命名背景)和更详细的说明 利用 Logback 的热加载特性,安全的迁移日志,改变日志保存路径 Linux中查询进程内存占用 iotDB调整内存占用及注意事项 Eclipse Milo 处理PLC"字(Word)"类型,最直接和正确的做法是使用其内置的 UShort 类型 centos7.9安装minio RELEASE.2025-04-22T22-12-26Z centos7.9编译安装nginx 1.28.1 linux(centos7.9)编译安装redis7.2.4 UFW 防火墙常用命令速查表
wsl常用命令
dirgo · 2026-06-03 · via 博客园 - dirgo

下面按「怎么装 → 怎么用 → 常用命令速查」给你梳理 WSL(WSL2 为重点),偏实战,尽量少废话。

一、先说结论:WSL 能做什么?

  • 在 Windows 上直接跑完整 Linux 环境(Ubuntu、Debian 等),不用装虚拟机或双系统。
  • 适合:命令行开发、脚本、Docker、Python/Node/Go 开发、GPU/AI 环境、服务器管理练习等。
  • 现在默认用 WSL2(有完整 Linux 内核,支持 Docker、GPU 等),老版本 WSL1 基本不再推荐。

二、整体使用流程一图看懂

flowchart LR A[检查 Windows 版本 & 虚拟化] --> B[启用 WSL 功能] B --> C[安装 WSL2 和发行版] C --> D[首次启动 & 创建用户] D --> E[基础配置 - 换源/安装工具] E --> F[日常使用 - 终端/VSCode/Windows 互操作] F --> G[进阶 - 备份迁移/网络/开机启动]


三、安装与启用(WSL2)

1. 系统要求

  • Windows 10 2004+(内部版本 19041+)或 Windows 11
  • CPU 已开启虚拟化(BIOS 里的 VT-x / AMD-V)
  • 建议至少 5–10G 磁盘空间(后续装软件会更多)

2. 一键安装(推荐)

1)以管理员打开 PowerShell / Windows Terminal
2)执行:

wsl --install

这个命令会自动:

  • 启用“适用于 Linux 的 Windows 子系统”和“虚拟机平台”功能
  • 下载并安装 WSL2 内核
  • 安装默认发行版(一般是 Ubuntu)
    3)按提示重启电脑。

如果下载慢或卡住,可以用:wsl --install --web-download

3. 安装其他发行版

查看可安装发行版:

wsl --list --online
# 或简写
wsl -l -o

安装指定发行版,例如 Debian / Kali:

wsl --install -d Debian
wsl --install -d Kali-Linux

4. 首次启动配置

  • 开始菜单里找到“Ubuntu / Debian”等应用,打开。
  • 首次启动会提示:设置用户名和密码(输入密码时不会显示,是正常的)
  • 看到提示“Installation successful!”即完成。

四、WSL 基本使用方法

1. 几种进入 WSL 的方式

在 PowerShell / CMD 中:

wsl           # 启动默认发行版,当前目录
wsl ~         # 启动默认发行版,并进入用户主目录
wsl -d Ubuntu-22.04   # 启动指定发行版

在 Linux 里输入 exit 退出当前 WSL 会话。

2. Windows ↔ Linux 文件互访

  • 从 WSL 访问 Windows:
    # C 盘
    cd /mnt/c/Users/你的用户名/Desktop
    # D 盘
    cd /mnt/d/项目目录
    
  • 从 Windows 访问 WSL:
    • 资源管理器地址栏输入:\\wsl$\\wsl.localhost\Ubuntu
    • 或在 WSL 中执行:explorer.exe . 打开当前目录

3. 在 WSL 里装常用软件(Ubuntu/Debian 示例)

sudo apt update
sudo apt upgrade -y
# 常用工具
sudo apt install -y git curl vim nano wget

4. 换国内镜像源(加速 apt)

1)安装编辑器(如果没有):

sudo apt update
sudo apt install nano -y

2)备份并修改源:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo nano /etc/apt/sources.list

3)把内容替换为国内源(如清华源),然后:

sudo apt update
sudo apt upgrade -y

不同发行版/版本源不同,建议直接搜“Ubuntu 22.04 清华源”等模板。

5. WSL 与 VS Code / JetBrains 等结合

  • VS Code:安装 Remote - WSL 插件,在 WSL 中执行 code . 即可在 Windows 里用 VS Code 打开 WSL 项目
  • JetBrains:配置 WSL 工具链,可直接在 WSL 中构建/运行项目

五、WSL 常用命令速查(Windows 端)

以下命令在 PowerShell / CMD 中执行,对应官方文档

1. 安装 & 版本管理

命令 作用
wsl --install 一键安装 WSL2 + 默认发行版(Ubuntu)
wsl --install -d <发行版> 安装指定发行版,如 Ubuntu-22.04
wsl --list --online / wsl -l -o 列出可安装的发行版
wsl --update 更新 WSL 内核
wsl --set-default-version 2 设置新安装发行版默认使用 WSL2
wsl --set-version <发行版> 2 将某个发行版切换为 WSL2(耗时可能较长)
wsl --status 查看 WSL 状态(默认发行版、内核版本等)
wsl --version 查看 WSL 版本信息
wsl --help 查看所有 WSL 命令帮助

2. 发行版管理

命令 作用
wsl --list --verbose / wsl -l -v 列出已安装发行版 + 状态 + WSL 版本
wsl --list --running / wsl -l -r 只列出正在运行的发行版
wsl --set-default <发行版> 设置默认发行版(wsl 直接启动的那个)
wsl -d <发行版> 启动指定发行版
wsl --terminate <发行版> / wsl -t <发行版> 终止指定发行版
wsl --shutdown 立即关闭所有 WSL 发行版和虚拟机
wsl --unregister <发行版> 注销并删除某个发行版(数据会丢失)

3. 备份 & 迁移

命令 作用
wsl --export <发行版> <文件.tar> 导出发行版为 tar 备份
wsl --export <发行版> <文件.tar> --vhd 导出为 .vhdx 虚拟磁盘(仅 WSL2)
wsl --import <新名称> <安装目录> <文件.tar> 从 tar 导入为新发行版
wsl --import <新名称> <安装目录> <文件.tar> --version 2 指定导入为 WSL2
wsl --import-in-place <新名称> <文件.vhdx> 直接挂载 vhdx 作为发行版(不复制文件)
典型用途:把 WSL 从 C 盘迁到 D 盘:
wsl --export Ubuntu D:\wsl\backup\ubuntu.tar
wsl --unregister Ubuntu
wsl --import Ubuntu D:\wsl\ubuntu D:\wsl\backup\ubuntu.tar --version 2

4. 启动 & 执行方式

命令 作用
wsl 启动默认发行版,进入当前目录
wsl ~ 启动默认发行版,进入用户主目录
wsl -d <发行版> -u <用户名> 以指定用户启动指定发行版
wsl -u root 以 root 身份启动默认发行版
wsl ls -la 在默认发行版中执行一条 Linux 命令,不进入交互 Shell
wsl -d Ubuntu -e bash -c "ls /" 在指定发行版中执行脚本/命令

5. 网络与信息查看

命令 作用
wsl hostname -I 查看 WSL2 虚拟机的 IP(从 WSL 内看)
`ip route show grep -i default
cat /proc/cpuinfo / cat /proc/meminfo 查看 CPU / 内存信息
df -h 查看磁盘使用情况

六、WSL 里常用的 Linux 命令(速查)

这些命令在 WSL 的 Bash 中执行,和真实 Linux 基本一致:

1. 文件与目录

pwd                 # 显示当前目录
ls -l               # 详细列表
ls -lh              # 易读大小
cd ~                # 回到主目录
cd /mnt/c/Users     # 进入 Windows 目录
mkdir project       # 创建目录
rm file.txt         # 删除文件
rm -r dir           # 删除目录
cp a.txt b.txt      # 复制
mv a.txt dir/       # 移动/重命名

2. 文本查看与搜索

cat file.txt
less file.txt
head -n 20 file.txt
tail -n 20 file.txt
tail -f log.txt     # 实时查看日志
grep "error" log.txt
grep -rn "TODO" src/   # 递归搜索并显示行号

3. 权限与用户

sudo command        # 以 root 权限执行
sudo -i             # 切换到 root shell
chmod +x script.sh  # 添加可执行权限
chown user:group file

4. 压缩与归档

tar -czf archive.tar.gz dir/
tar -xzf archive.tar.gz
zip -r archive.zip dir/
unzip archive.zip

5. 网络与服务(以 Ubuntu 为例)

sudo apt update
sudo apt install -y nginx
sudo systemctl status nginx
sudo systemctl start nginx
sudo systemctl enable nginx   # 开机启动(需 WSL2 + systemd 支持)

注意:WSL2 默认没有 systemd,如需 systemctl 需要额外配置。


七、常见问题与进阶技巧

1. WSL 卡顿 / 状态异常

wsl --shutdown    # 强制关掉所有 WSL 实例,再重新打开

2. 修改默认发行版 / 默认版本

wsl --set-default Ubuntu-22.04
wsl --set-default-version 2

3. 忘记 WSL 里的用户名 / 想改默认用户

# 列出发行版,找到名称
wsl -l -v
# 以 root 进入
wsl -d Ubuntu-22.04 -u root
# 修改默认用户(在 WSL 内)
<DistributionName> config --default-user yourname
# 例如:ubuntu config --default-user johndoe

4. 网络与代理设置

  • 新版 Windows 11 支持在 %USERPROFILE%\.wslconfig 中配置镜像网络、自动代理等:
    [wsl2]
    networkingMode=mirrored
    autoProxy=true
    dnsTunneling=true
    
  • 修改后执行:wsl --shutdown 再重启 WSL。

5. 开机自启 WSL 或服务

  • 用 VBS / 任务计划,实现 Windows 登录时自动启动 WSL 并运行脚本
  • 也可以在 WSL 内配置 systemd 服务(需先启用 systemd)