下面把 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 文件末尾(每次开终端自动执行),第二行让当前终端立刻生效不用重开窗口。以后所有项目都能自动用上这个镜像源。


标签: none

添加新评论