wsl -d Ubuntu 和直接执行wsl的区别是啥

内容纲要

这里其实有一点“名字—行为—默认动作”的区别,逻辑特别简单,但很多人第一次用 WSL 时会搞不清。我给你讲透彻,让你以后看到 WSL 的各种命令都能一眼知道它在干嘛。

想象 WSL 有很多 Linux 发行版:
Ubuntu、Debian、Kali、openSUSE、…
每一个都像“独立的 Linux 虚拟机”。


✔ 核心区别一句话概括

wsl:启动默认发行版(Default Distro)

wsl -d Ubuntu:启动指定发行版 Ubuntu

它们本质上都是“进入某个 Linux 系统”,差别只是你进入的是哪一个


一、wsl 是“默认进入”

当你执行:

wsl

系统会查:

  • 你的默认发行版是谁(Default Distro)
  • 然后直接进入它

你现在的默认是 Ubuntu,所以:

wsl

和:

wsl -d Ubuntu

效果看着一样。

但不是永远一样。


二、wsl -d Ubuntu 是“我点名要这个发行版”

这个命令是明确指定:

wsl -d Ubuntu

意思是:

“不管默认是谁,我现在要启动 Ubuntu 发行版。”

如果你未来安装了多个发行版,比如:

  • Ubuntu
  • Ubuntu-20.04
  • Debian
  • kali-linux

这两个命令就不一样了。


三、为什么现在看起来一样?

因为你的系统里只有 一个发行版(Ubuntu)
所以:

  • wsl
  • wsl -d Ubuntu

最终都进入同一个系统。


四、看看你系统里有哪些发行版

你执行:

wsl --list --verbose

例如输出:

  NAME          STATE           VERSION
* Ubuntu        Running         2
  Debian        Stopped         2

星号 * 表示默认发行版。


五、如果你换默认发行版,wsl 才会变化

比如把 Debian 设为默认:

wsl --set-default Debian

然后:

wsl

就会进入 Debian,而:

wsl -d Ubuntu

还是 Ubuntu。


✔ 总结(非常清晰)

命令 含义 行为
wsl 启动默认发行版 看星号在哪个发行版,就进哪个
wsl -d Ubuntu 指定启动 Ubuntu 永远进入 Ubuntu,不管默认是谁

你现在只有 Ubuntu 所以看不出区别,但当你未来搞多个发行版(做容器、训练、编译等),这两个命令的意义就明显了。

Leave a Comment

您的电子邮箱地址不会被公开。 必填项已用*标注

close
arrow_upward