本文最后更新于 2018-12-08,文章内容可能已经过时。

本文最初在发布于GitHub,在此重新发布是为了汇总作品。本文撰写时(2018)基于第一代WSL技术,在此发布时(2024)微软已经发布第二代WSL技术并被主要应用。如果你在使用 WSL 2,请注意内容适用性。

什么是WSL

  WSL是“Windows Subsystem for Linux”的缩写,顾名思义,WSL就是Windows系统的Linux子系统,其作为Windows组件搭载在Windows10周年更新(1607)后的Windows系统中。

  既然WSL是“子系统”,那么WSL的地位我们能大概推测出——

  1. “子系统”作为系统层的一部分,相较于应用层(虚拟机)会消耗更少的资源,并且与系统锲合度更高。
  2. 因为“子系统”依附于“系统”,所以“子系统”会受到一些限制。

  事实上,的确是这样!只需要打开一个类似CMD的Bash命令行窗口,你的WSL就可以使用了(相当于建立了一个Session,因为WSL会一直伴随Win10的运行而运行),相对于从虚拟机启动既省时又省力。 除此之外,虽然WSL不是完整的Linux系统,但你依然可以做到绝大多数在完整Linux系统能做的事(比如vim, apt-get等)。

  我们知道,Linux是一个系统内核,那么WSL是Linux发行版吗?并不是。WSL本质上是系统层面对Linux内核的支持,我们在Win10的应用商店Microsoft Store内搜索下载我们喜欢的Linux发行版即可。目前,WSL支持UbuntuKali LinuxGNUOpenSUSE等,后续可能会有更多Linux发行版支持WSL。

  更多详细信息请参阅微软官方文档Windows Subsystem for Linux Documentation以及Windows Command Line Tools For Developers


下一步