(WSL笔记)想用Linux开发环境?不妨试试WSL吧:其原理、特点与适用人群

声明1:本文首发于个人微信公众号:客亦技术站,欢迎关注私信获取更多帮助,转载请注明出处

声明2:本文首系个人使用经验总结,不代表官方表述

1. 为什么推荐使用 WSL

“Windows 不适合开发”,很多开发老手可能都会说这句话,但是原因他们可能就说不上来。这里就要讲一些历史了。Windows 系统诞生的时候,为了与 unix 系统家族区分开来,做了很多截然相反的设计,比如引入盘符、使用反斜杠( \ )来表示文件路径。然而由于 Windows 并不是免费的,商用服务器系统如果选择 Windows,将会支出一笔巨大的系统使用费用,这就造成了 Linux 在服务器系统中的流行,于是在 Windows 下开发的程序到了 Linux 系统运行,则会出现各种不兼容的问题。即使以跨平台特性著称的 Java,如果在 Windows 下开发,到了 Linux 下运行也多多少少会出现一些水土不服的情况,典型的就是各种路径问题。于是乎很多老鸟都推荐使用 Linux 开发,然而由于 Linux 的桌面版远逊色于 Windows,又由于个人电脑很多硬件驱动在 Linux 下的兼容性太差(这里点名英伟达,F**k you,Nvidia),再者程序员多多少少都会玩下游戏吧?难道 Windows 和 Linux 真的不可兼得吗?不,抛弃繁重的虚拟机和切换麻烦的双系统,WSL 其实是非常好的选择,既可以使用 Linux 下丰富的开发工具,又兼有 Windows 的广泛性,在 WSLg(WSL GUI)的加持下还可以使用 Linux 的桌面程序如 IDE 等,无论你是 C、C++、NodeJS 甚至 Java 开发者,都建议你试试 WSL。

WSL 有 1.0 和 2.0 两个版本,这里分别介绍一下。推荐使用 WSL2,如图是我安装的WSL2 Ubuntu-22.04

我的wsl Ubuntu

2. WSL1 和 WSL2 原理

2.1 WSL1 原理

WSL1 是 Windows Subsystem for Linux 的第一个版本,其核心原理是通过引入一个翻译层将 Linux 系统调用翻译成 Windows 系统调用。WSL1 并没有 Linux 内核,而是通过 Microsoft 开发的翻译层将 Linux 二进制文件适应于 Windows 环境。这使得用户可以在 Windows 上运行基于 Linux 的应用,但性能相对较低。

2.2 WSL2 原理

WSL2 则带来了一些根本性的变化。它引入了一个真正的 Linux 内核,而不再依赖于翻译层。WSL2 在 Windows 和 Linux 之间建立了一个轻型虚拟机,使得 Linux 内核能够直接在 Windows 系统上运行。这带来了更好的性能和更好的系统兼容性。

3. WSL1 和 WSL2 优缺点

3.1 WSL1 优缺点

3.1.1 优点

简便性: 安装和配置相对简单,适合初学者。

低资源占用: 相较于虚拟机,WSL1 占用更少的系统资源。

3.1.2 缺点

性能限制: 由于依赖翻译层,性能相对较低,尤其在对计算资源要求较高的情境下。

3.2 WSL2 优缺点

3.2.1 优点

更好的性能: 通过引入真正的 Linux 内核,WSL2 在性能上有显著提升。

更好的系统兼容性: 由于有自己的 Linux 内核,WSL2 能够更好地支持一些对于 Linux 系统更为特有的操作。

3.2.2 缺点

相对复杂: 相较于 WSL1,WSL2 在安装和配置上稍显繁琐。

占用更多资源: 由于引入了轻型虚拟机,WSL2 相对于 WSL1 会占用更多的系统资源。

3.3 对各种语言的开发者而言

3.3.1 WSL1

适用场景: 对于一些不对性能要求过高的语言,比如 Python、Ruby 等脚本语言的开发者,WSL1 是一个不错的选择。它的简便性和低资源占用对于这类开发者而言是优势。

3.3.2 WSL2

适用场景: 对于对性能有更高要求的语言,比如 C++、C#等系统级别的开发者,WSL2 更为适合。其更好的性能和更好的系统兼容性会使得开发更为流畅。

4. WSL 建议适用人群

4.1 适用人群

4.1.1 开发者

初学者: WSL1 是一个友好的入门选择,简单易用。

脚本语言开发者: WSL1 适用于对性能要求不高的 Python、Ruby 等开发者。

4.1.2 专业开发者

系统级别开发者: WSL2 更适合需要更高性能和更好系统兼容性的专业开发者,比如 C++、C#、安卓等开发者。

要求更高的开发者: WSL2 的性能提升和更好的系统兼容性使得它成为对开发要求较高的专业人士的首选。

同时需要使用Windows软件的开发者: 有些开发或运维工作人员需要在使用Windows下的软件生态(如微信、Office套件、办公协作软件等)的同时使用Linux环境,此时wsl就是不二之选:比虚拟机轻量、启动快速、也可同时在Windows窗口管理器下使用Linux桌面应用。

4.2 不适用人群

4.2.1 资源受限用户

硬件受限用户: WSL2 相对 WSL1 占用更多的系统资源,对于硬件资源受限的用户可能不是最佳选择。

4.2.2 简单操作偏好者

对简单操作偏好者: 如果用户对于操作系统的配置和细节不太感兴趣,WSL2 相对 WSL1 配置更为繁琐,可能不太适合。

5. 结语

通过对 WSL1 和 WSL2 的原理、优缺点以及适用人群的深入了解,我们能更好地选择适合自己需求的版本。在后续笔记中,我将基于自己的实践,介绍 WSL2 Ubuntu-22.04 的安装步骤、配置及进阶用法,欢迎关注,希望读者能够更轻松地在 Windows 系统上体验 Linux 的强大功能。选择 WSL,让我们的开发之路更为畅通!

关于我:
大专毕业(武汉软件工程职业学院),7年Java Coder一枚,开始写技术文章不久,请多多支持。如果因迷茫或者技术需要帮助,欢迎我的公众号:客亦技术站,或添加微信:yanfanxie

  • 23
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值