当前位置: 首页 > ds >正文

WSL的功能及用途

WSL 是什么?

WSL(Windows Subsystem for Linux) 是一个让你在 Windows 系统里运行 Linux 环境的工具,
让你不用安装双系统或虚拟机,就能用 Linux 的命令、软件和开发环境。


一、WSL 的核心功能

1. 运行 Linux 命令行

你可以直接在 Windows 上打开一个终端(如 Ubuntu、Debian),运行各种 Linux 命令:

ls
cd
vim
python
gcc

仿佛你就在一台真实的 Linux 电脑上操作。

2. 安装多个 Linux 发行版

WSL 支持多种 Linux 系统,你可以从 Microsoft Store 一键安装:

  • Ubuntu
  • Debian
  • Kali Linux
  • openSUSE
  • Alpine

甚至可以同时安装多个系统切换使用。

3. 与 Windows 文件系统无缝交互

你可以:

  • 在 Linux 中访问 Windows 文件,例如:

    cd /mnt/c/Users/你的用户名/Desktop
    
  • 在 Windows 中打开 Linux 文件夹(如通过 \\wsl$\Ubuntu\home\user

这使得你在开发过程中能轻松共享文件

4. 支持原生 Linux 软件和工具链

WSL2(第二代)支持运行原生 Linux 程序,包括:

  • C/C++ 编译器(gcc/g++)
  • Python、Node.js、Ruby 等开发环境
  • 包管理器(apt、pip、npm 等)
  • AI/机器学习框架(如 PyTorch、TensorFlow)

5. 支持容器和 Docker(WSL2)

WSL2 引入了真正的 Linux 内核,因此可以:

  • 运行 Docker Desktop(原来只能用在 Linux 或虚拟机中)
  • 使用容器开发和部署服务

这对做 DevOps 或云原生开发的人来说极其方便。

6. 网络功能强大

你可以:

  • 在 WSL 中启动一个 Web 服务(比如跑 Flask、Node.js 项目)
  • 然后通过 localhost:端口号 在浏览器中访问它
    👉 不需要像虚拟机一样配置复杂网络

7. 启动速度快、性能高

WSL 启动非常快,只需一秒钟以内,而且比虚拟机占用更少资源,不需要给它单独分配内存和硬盘空间。

8. 快照和持久存储

  • WSL 里的文件和配置是持久的,不会因为关机或重启而丢失。
  • 你可以设置自己的开发环境、保存项目代码,并长期使用。

二、WSL 的常见用途

用途说明
开发 Web 应用用 Linux 工具开发网站,如用 Node.js、Flask、Django 等
学习 Linux 命令不想安装双系统的学生和爱好者可以在 WSL 里练习
编译程序用 gcc、g++ 编译 C/C++ 程序
数据分析/AI使用 Python + Jupyter + Pandas/Numpy/PyTorch 等库
网络测试启动本地服务器、运行 curl、nmap、ping 等网络命令
部署和测试环境模拟 Linux 服务器部署项目,再上传到云端
Git 开发安装 Git、使用 git clone/push/pull 等命令
与 Docker 联动在 WSL 中用 Docker 构建镜像、启动容器

三、WSL vs 虚拟机 vs 双系统(对比总结)

对比项WSL虚拟机双系统
安装难度⭐⭐⭐⭐⭐⭐⭐⭐⭐
启动速度快速(秒级)较慢(分钟)需重启切换
系统隔离中等(共享部分资源)最强
图形界面支持WSL1 ❌,WSL2 ✅(通过WSLg)完整完整
性能接近原生比较吃资源原生性能
文件互通非常方便有点麻烦较难

四、开发者为什么喜欢用 WSL?

  • 不用离开 Windows 也能享受 Linux 的命令行和工具
  • 可以更轻松地写代码、调试、部署
  • 一台 Windows 机器变身为“开发神器”

五、安装WSL

一条命令快速安装:
在 Windows 搜索栏输入 PowerShell,右键点击【Windows PowerShell】→ 选择【以管理员身份运行】
运行安装命令:

wsl --install

这个命令会:

  • 自动启用 WSL 所需的系统组件
  • 自动安装最新版本的 WSL(默认是 WSL 2)
  • 自动安装 Ubuntu(默认 Linux 发行版)

总结

WSL 是一个融合了 Windows 和 Linux 优势的开发利器,让你在 Windows 上也能享受 Linux 的强大生态,尤其适合程序员、开发者、学生和科研人员使用。

http://www.xdnf.cn/news/15943.html

相关文章:

  • JavaScript空值安全深度指南
  • 单调队列深度解析(下)
  • 前端开发技巧:浏览器模拟弱网络环境
  • 【Linux】重生之从零开始学习运维之Nginx
  • 高可用架构设计与实践综述
  • XSS总结
  • 【RK3576】【Android14】固件烧录
  • 零基础学后端-PHP语言(第一期-PHP环境配置)
  • SQL核心语法与实战应用指南
  • MacOS:如何利用终端来操作用户
  • kafka--基础知识点--6.1--LEO、HW、LW
  • 2025 Data Whale x PyTorch 安装学习笔记(Windows 版)
  • react+antd+表格拖拽排序以及上移、下移、移到顶部、移到底部
  • react17更新哪些新特性
  • ARINC818协议综述
  • 48Days-Day03 | 删除公共字符,两个链表的第一个公共结点,mari和shiny
  • uniapp相关地图 API调用
  • servicemesh 学习
  • 实战分享:Web3 前端开发Defi项目
  • [硬件电路-39]:激光光路的光信号处理、模拟电路的电信号处理、数字电路的电信号处理、软件的信号处理,有哪些共通的操作、运算、变换?
  • 06-人机共生:Prompt之外的思考
  • 【RK3576】【Android14】USB开发调试
  • k8s 基本架构
  • 【小沐学GIS】基于Rust绘制三维数字地球Earth(Rust、OpenGL、GIS)
  • 完美解决 Ubuntu 中自定义启动器图标重复的问题(以 MATLAB 为例)
  • bash方式启动模型训练
  • python基础复习
  • 高压电工作业证考试核心考点:电气安全基础篇
  • 响应式单位rpx及搭配使用UI产品工具
  • 风格多样!5 个覆盖全风格的素材网站,创作有新意