Skip to content
产品 文库 关于
我的 English中文繁體 首页2026-07-31 19:11
全部 目录 阅读目的 标签
目录▾ 全部 目录 阅读目的 标签
﹥
WSL▾ 目录 · 日期↓ Windows SSH Access 工具 VS Code 新窗口的环境变量 Git 多账号管理 Loop Engineering:数字生命 把一台台 VPS 变成本地命令 CoSkill:人机协作的未来 让 Win + R 运行自定义命令 AI 时代的人类价值 ssh -R 一剑开天门 WSL 产品 ﹥ WSL 一键管理工具▾ WSL · 日期↓ WSL 一键管理工具 WSL 实战指南

WSL 工具:一键管理后台保活、备份还原、SSH、systemd 和端口暴露,Agent 也少走弯路

SWAW Kit WSL 一键管理工具文章封面

Windows 上,WSL 越来越成熟。但把它当日常 Linux,你大概率也会遇到:

  1. WSL 2 没有活动任务时会自动停机(我原以为开了 systemd 托管 sshd 就够,结果还是会寄)
  2. 服务在 WSL 里起了,手机或另一台电脑却访问不了,原来,还要处理端口映射和防火墙放行
  3. 想启用 SSH?需一路 combo:开启 systemd、安装 sshd、修改默认端口、甚至配公钥
  4. 用久了会沉淀重要数据,但备份/还原/迁移等低频操作命令,鬼都记不住
  5. 实例一多,这些操作还会反复出现

现在,我是这么搞了,例如:

wsl02 .alive
wsl02 .sshd enable 2228
wsl02 .port expose 2228 2228 --uac

三条命令之后:

✅ WSL 空闲也不停机
✅ SSH 服务 + systemd 一键就绪(必要时重启一次 WSL 虚拟机,后面有具体说)
✅ 端口已映射、防火墙已放行(局域网方向可访问)

备份/还原,也只需:

wsl02 .backup
wsl02 .install D:\backup\xxx.tar --yes

还可以?

一、工具已开源、三步即用

  1. 克隆
git clone https://github.com/swawai/swaw-kit
  1. copy
cd swaw-kit
copy .\Favorites\template.wsl01.cmd .\wsl02.cmd

复制后,用文本编辑器打开 wsl02.cmd,改好其中定义的实例名、用户名、安装镜像源(如 Ubuntu、Debian)。

  1. 安装
wsl02 .install

如安装遇到问题,可执行诊断,结果可拿去问 AI:

wsl02 .doctor

装完,跑 wsl02 就能用了:

在 Windows Terminal 中直接运行 wsl02 进入已绑定的 WSL 实例

  1. 没了

到此,各种‘一键’功能,也就向你放开了!如,后台保活:

:: 保活3600秒:
wsl02 .alive 3600
:: 关闭保活策略
wsl02 .alive off

一键管理备份/还原/迁移/重装(相关位置在 wsl02.cmd 里有定义):

:: 备份
wsl02 .backup
:: 列出已有的备份文件
wsl02 .backup list
:: 还原(使用已有备份文件重装),当前 WSL 实例的所有数据会丢失!(需加 --yes 以确认覆盖):
wsl02 .install D:\backup\xxx.tar --yes
:: ...

一键管 systemd:

:: 开启 systemd
wsl02 .systemd enable
:: 改动 systemd 配置不会立即生效,需重启 WSL 2 底层虚拟机,
:: 注意:当前用户的所有 WSL 实例会短暂关机:
wsl02 .vm -s
:: 关闭 systemd
wsl02 .systemd disable

一键管 SSH 服务、端口暴露,和未提及的功能…不一一赘述。

只需记住/执行 --help,关于 WSL 的一封情书将为你展开:

wsl02 --help

输出内容会按模块分组,排版一目了然。

二、效果截图

备份:

wsl02 .backup

wsl02 .backup 导出 WSL 实例备份 tar 包的完成结果

还原(用指定备份重装实例):

wsl02 .install D:\backup\Backup_wsl02_20260617083000.tar --yes

wsl02 .install 使用备份归档重装还原 WSL 实例

查看端口策略:

wsl02 .port status

wsl02 .port status 查看 mirrored 网络下的 Hyper-V 防火墙端口策略

SSH 登录:

设置 wsl02 保活和用户密码后通过 SSH 登录 WSL 实例

三、多实例管理和 Agent 支持

如果你只有一个 WSL,这篇对你是“方便”;但如果是 3 个以上,这会是“救命”!

多个 WSL 可照搬 wsl02,创建如 wsl03、wsl04、wsl05…来绑定好你的各个 WSL,之后,就是油门焊死的感觉:

:: 安装:
wsl03 .install
wsl04 .install
wsl05 .install
:: 备份:
wsl03 .backup
:: 重装:
wsl04 .install --yes
:: 保活:
wsl04 .alive
:: 用 VS Code 打开 WSL 中的目录:
wsl05 .code ~/myproj/
:: 开启 SSH:
wsl05 .sshd enable 2228
:: ...

:: 命令太多记不住?执行 --help:
wsl03 --help
wsl04 --help
wsl05 --help

哪怕你真有一堆 WSL,在命名上花点心思,便依然井井有条:

:: 按分组和编号命名:
group1-wsl1.cmd
group1-wsl2.cmd

:: 按用途:
website-test.cmd
claude-code.cmd
openclaw.cmd
agent-lab.cmd
research-box.cmd
sandbox.cmd

可以说,WSL 越多,本工具这种“一个实例一个命令脚本”的方式,会越有优势。对 Agent 来说,这种固定入口也有额外好处:

- 命令名即目标实例,边界清晰
- 保活、备份、SSH 端口管理...使用稳定的一键设置子命令
- 核心命令,保持非交互
- 危险操作显式要求 --yes
- 管理员操作显式要求 --uac
- .status 和 .doctor 支持 JSON 输出

我让 Codex 试用,它反馈【显著提升 Agent 操作可靠性…轻量节省命令输入 token,中等到显著节省诊断/探索 token】,这是截图,其中给的小建议和滥用问题,我已做修补:

Codex 对 SWAW Kit WSL 一实例一入口设计的 Agent 友好性评价

四、附:放进 PATH

想要让 wsl02 wsl03 这些命令,在任意终端及 Win + R 里直接能跑?双击仓库里的:

PathHereAdd.cmd

就行了。

双击后如何回退?触碰 PATH 是否安全、谨慎?可看我的:让 Win + R 运行自定义命令。


源码仓库(欢迎提交 Issue、PR):https://github.com/swawai/swaw-kit

目录 文库 / WSL
阅读目的 探索
标签 Windows
时间 发布于 2026-06-23 · 更新于 2026-07-29
链接 GitHub · 公众号