Windows Subsystem for Linux (WSL)

目录

定义与功能

版本与特点

应用场景

[启用 WSL 功能](#启用 WSL 功能)

更新WSL及其内核

下载Linux发行版本


WSL(Windows Subsystem for Linux)是微软在Windows 10和Windows 11中引入的一项功能,使用户能够在Windows上原生运行Linux的命令行工具和应用程序。

定义与功能
  • 定义:WSL是微软为Windows操作系统开发的一个子系统,它允许用户在Windows环境中直接运行Linux的命令行工具、应用程序及系统服务,而无需启动完整的Linux虚拟机或进行双系统启动。
  • 功能:WSL提供了一个完整的Linux内核接口(在WSL 2中),使用户能够运行常见的Linux命令行工具、脚本和应用程序。此外,WSL还与Windows操作系统紧密集成,允许用户直接访问Windows文件系统,并在Windows应用程序中访问Linux文件。
版本与特点

WSL 1

  • 实现原理:WSL 1是Windows NT内核中的一个子系统,它通过一个翻译层将Linux系统调用转换为Windows NT系统调用。
  • 特点:由于它是一个"Linux兼容层",因此不支持所有Linux功能,某些应用可能无法运行。但WSL 1具有较低的资源开销,因为它不需要额外的虚拟化技术。

WSL 2

  • 实现原理:WSL 2使用了一个真正的Linux内核,并通过轻量级虚拟机运行。它支持所有Linux系统调用和功能,并提供更高的兼容性和性能。
  • 特点:WSL 2基于Hyper-V技术,但比传统虚拟机更轻量,支持动态资源分配,启动快且资源占用低。此外,WSL 2还改进了文件系统性能,尤其是在处理Linux和Windows文件系统交互时。
应用场景
  • 软件开发:开发者可以在Windows上直接运行Linux开发环境,使用熟悉的Linux命令行工具和软件包管理器,从而提高开发效率。
  • 系统管理:系统管理员可以利用WSL来执行Linux系统管理任务,如配置服务器、编写脚本等。
  • 学习与教育:学生和教师可以使用WSL来学习和教授Linux相关知识,无需额外安装Linux系统。
  • 数据分析与机器学习:数据科学家和机器学习工程师可以利用WSL中的Linux环境来运行复杂的分析和训练任务。
启用 WSL 功能

win,在搜索栏输入(开发者设置),打开开发人员模式启用

打开控制面板,打开程序与卸载,启用或关闭windows功能,选择适用于linux的windows的子系统。

windows功能更改,重启

更新WSL及其内核

检查当前WSL版本

wsl --install 安装
wsl --version 查看版本
wsl --update  更新

打开Windows PowerShell(以管理员身份运行)。

输入wsl --version命令来检查当前WSL的版本。注意,这个命令可能不会直接显示是否有可用的更新,但它会告诉你当前正在使用的WSL版本。

更新WSL

使用命令行:如果wsl --update命令在你的WSL版本中可用,你可以通过输入此命令来下载并安装最新的WSL更新。

下载Linux发行版本

打开Microsoft store,搜索Linux,下载安装合适或者喜欢的Linux发行版本

参考资料:适用于 Linux 的 Windows 子系统文档 | Microsoft Learn

相关推荐
hkj88085 分钟前
linux查看访问外网本机ip地址的命令
linux·运维·服务器
一品人家13 分钟前
win32汇编环境下,对话框程序中生成listview列表控件,点击标题栏自动排序的示例
汇编·windows·microsoft
水饺编程20 分钟前
简易CPU设计入门:本系统中的通用寄存器(三)
linux·fpga开发·硬件架构·硬件工程
码思途远1 小时前
工作中常用Vim的命令
linux·编辑器·vim
凌盛羽1 小时前
在CodeBlocks搭建SDL2工程构建TFT彩屏模拟器虚拟TFT彩屏幕显示
windows·嵌入式硬件·ffmpeg·c#
笑洋仟1 小时前
Linux postgresql-15部署文档
linux·运维·postgresql
key123151 小时前
RSA公钥私钥对在线生成工具--可生成pem,xml,raw等密钥格式
运维·服务器·开发效率工具
福如意如我心意1 小时前
XML里预定义的字符实体引用
xml·服务器·前端
vvw&1 小时前
如何在 Ubuntu 22.04 上安装 Varnish HTTP 教程
linux·运维·服务器·ubuntu·http·apache·firewalld