WSL2 日常命令归类 Windows 侧用 PowerShell Linux 侧用 WSL 终端
下面把 WSL2 日常最常用的命令按场景归类,Windows 侧用 PowerShell,Linux 侧用 WSL 终端,分开标清楚,你以后查表就行。
一、Windows PowerShell 侧(管 WSL 平台本身)
# 安装默认 Ubuntu
wsl --install
# 安装指定发行版
wsl --install -d Ubuntu-24.04
# 列出已装发行版及状态
wsl -l -v
# 列出可在线安装的发行版
wsl --list --online
# 进入默认发行版
wsl
# 进入指定发行版
wsl -d Ubuntu-24.04
# 彻底关闭所有 WSL2 虚拟机(改 .wslconfig 后必须跑这个)
wsl --shutdown
# 注销(删除)某个发行版(不删文件需先 export)
w2l --unregister Ubuntu-24.04
wsl --unregister Ubuntu-24.04
# 导出发行版到 tar(迁移用)
wsl --export Ubuntu-24.04 D:\wsl-backup\ubuntu.tar
# 从 tar 导入到新位置(D 盘)
wsl --import Ubuntu-24.04 D:\WSL2\Ubuntu-24.04 D:\wsl-backup\ubuntu.tar --version 2
# 设默认发行版
wsl -s Ubuntu-24.04
# 查看 WSL 平台状态
wsl --status.wslconfig文件路径:C:\Users\你的用户名\.wslconfig,改完必须wsl --shutdown生效。
好,把每个命令是干嘛的用大白话说清楚:
二、WSL Ubuntu 终端侧(Linux 里日常用)
系统 & 包
sudo apt update && sudo apt upgrade -y刷新软件源列表 + 把所有已装包升级到最新版,-y 是自动确认不用手敲 yes。
sudo apt install -y 包名装一个新软件包,比如 sudo apt install -y git 就是装 git。
sudo apt autoremove -y清掉那些"以前被依赖、现在没人要了"的孤儿包,省磁盘。
Python / venv
python3.12 -m venv .venv在当前目录建一个叫 .venv 的隔离 Python 环境,里面有一份独立的 Python 解释器和 pip,跟系统全局的 Python 互不影响。
source .venv/bin/activate激活这个虚拟环境。激活后终端前面会多个 (.venv) 标记,之后所有 pip install 的包装进这个 .venv 里,不会污染系统。
deactivate退出当前虚拟环境,回到系统 Python。
编译 llama.cpp 等
cmake -B build -DGGML_CUDA=ON -DCMAKE_BUILD_TYPE=Release用 cmake 配置编译参数:-B build 指定输出目录叫 build,-DGGML_CUDA=ON 开启 NVIDIA GPU 支持,Release 模式编译出来运行最快(不带调试信息)。
cmake --build build -j$(nproc)真正开始编译,-j$(nproc) 是调用你所有 CPU 核心并行编译(你有 24 线程,所以 24 路同时编),速度拉满。
GPU / 驱动
nvidia-smi查看 NVIDIA 显卡状态:显存占用、驱动版本、CUDA 版本、当前跑在 GPU 上的进程。你 3060 能不能被 WSL 看见就靠它验证。
nvcc --version查看 CUDA 编译器版本。装了 nvidia-cuda-toolkit 才会有,编译 llama.cpp CUDA 版时 cmake 靠它找编译工具链。
网络
ip a查看 WSL 里的网络接口和 IP 地址。一般能看到 lo(回环 127.0.0.1)和 eth0(WSL 虚拟网卡)。
cat /etc/resolv.conf查看 DNS 服务器配置。WSL 里域名解析靠这个文件,网络不通时第一眼看这里对不对。
curl -I https://github.com发一个 HTTP HEAD 请求测试能不能访问某个网站。-I 只拿响应头不下载正文,用来快速判断网络通不通。
进程
ps aux | grep server.py列出所有正在跑的进程,然后过滤出包含 server.py 的那一行。用来确认 Parlor 服务是不是还在跑、进程号是多少。
pkill -f server.py强制杀掉所有命令行里带 server.py 的进程。Parlor 卡死了跑这条直接干掉,不用手动 Ctrl+C。
htop一个比 top 好看的交互式进程查看器,能看到 CPU、内存、每个核心的占用情况,按上下键滚动,按 q 退出。
文件位置
cd ~回到家目录(/home/你的用户名),相当于 Windows 里的 cd %USERPROFILE%。
cd /mnt/c/Users/你的用户名进到 Windows 的 C 盘用户目录。WSL 里 Windows 的各盘挂载在 /mnt/ 下,C 盘是 /mnt/c,D 盘是 /mnt/d。
WSL 虚拟硬盘物理位置在 Windows 侧:D:\WSL2\Ubuntu-24.04\ext4.vhdx(你迁移过的路径)。环境变量(临时)
export MODEL=e2b告诉当前 shell:"MODEL 这个变量的值是 e2b",Parlor 启动时会读这个变量决定加载哪个模型。关掉终端就消失。
export HF_ENDPOINT=https://hf-mirror.com把 HuggingFace 的下载地址指向国内镜像,下模型不走原始境外地址,速度快且不会超时。
export PATH="/usr/local/bin:$PATH"把 /usr/local/bin 插到 PATH 搜索路径的最前面,这样系统找 llama-server 时优先从这里找(你编译好的 CUDA 版在那)。
固化环境变量(永久)
echo 'export HF_ENDPOINT=https://hf-mirror.com' >> ~/.bashrc
source ~/.bashrc第一行把那行 export 追加进 ~/.bashrc 文件末尾(每次开终端自动执行),第二行让当前终端立刻生效不用重开窗口。以后所有项目都能自动用上这个镜像源。