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

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.dtcms.com/a/288381.html

相关文章:

  • Paimon 在维表 Lookup Join 场景中的应用
  • Spring AI - ChatClient接口演示
  • FMEA-CP-PFD三位一体数字化闭环:汽车部件质量管控的速效引擎
  • 11.1Redis高可用集群部署
  • Js中var VS let VS const
  • Jmeter系列(7)-线程组
  • 6.表内容的操作之增、读
  • 【Linux服务器】-mysql数据库数据目录迁移
  • 打靶日记之xss-labs
  • undefined reference to ‘end‘
  • 从公共数据到医学研究:32 个生信数据库详解
  • [实战]巴特沃斯滤波器全流程解析:从数学原理到硬件实现
  • 磁盘阵列技术的功能与分类
  • 【面试题】大厂高压面经实录丨第三期
  • Python Pandas读取Excel表格中数据并根据时间字段筛选数据
  • 软件警告弹窗与兼容性问题
  • HD Video Converter Factory pro 高清视频转换器 v27.7.0 绿色中文便携版
  • centos7使用docker-compose部署项目
  • 《Linux 环境下 NTP 时间同步与 SSH 免密登录配置实战》
  • 树的基础知识总结
  • 移动硬盘无法读取怎么办?数据还可以抢救回来
  • STC增强型单片机寄存器 PWM EEPROM TMOD TCON
  • 数据结构的文件操作
  • scalelsd 笔记 线段识别 本地部署 模型架构
  • Spring7个事务传播行为和5个隔离级别
  • Java-Lambda表达式
  • 【Linux】Linux中重定向 及 dup2 详细讲解
  • Stream API
  • 2023 年 5 月青少年软编等考 C 语言八级真题解析
  • 本地安装部署Unstructured-api