【学习笔记】WSL
WSL
- 1、 介绍
- 1.1、概述
- 1.2、版本
- 1.3、配置安装
- 2、 基本
- 2.1、基本命令
1、 介绍
1.1、概述
WSL 是 Windows Subsystem for Linux 的缩写,中文称为 Windows 下的 Linux 子系统。它是微软在 Windows 上提供的一种功能,允许用户在 Windows 系统上原生运行 Linux 二进制可执行文件
| 特点 | 作用 |
|---|---|
| 运行 Linux 环境 | 可以在 Windows 系统中直接运行 Linux 命令行工具和应用程序,避免双系统或虚拟机的复杂配置 |
| 文件系统集成 | WSL 允许用户访问 Windows 和 Linux 的文件系统,支持跨系统文件操作 |
| 开发支持 | 开发者可以在 Windows 上使用 Linux 环境进行开发,比如运行 Linux 的开发工具、编译程序等,特别适合需要跨平台开发的场景 |
| 轻量级 | 相比虚拟机,WSL 占用更少的资源,并且启动速度更快 |
1.2、版本
微软目前提供了两种版本
WSL1:使用 Windows 内核兼容层来翻译 Linux 系统调用
WSL2:引入了真正的 Linux 内核,通过虚拟化技术运行,提供了更好的性能和兼容性
| WSL1 | WSL2 | |
|---|---|---|
| 架构 | WSL1 是基于一个兼容层,使用 Windows 内核来翻译 Linux 的系统调用(System Call),并且将这些调用映射到 Windows 系统调用上。这种方式使 Linux 应用程序可以在 Windows 系统上运行,但不是完整的 Linux 内核 | WSL2 引入了一个完整的、精简的虚拟机,并且运行了真正的 Linux 内核。它使用微软开发的轻量化虚拟化技术 Hyper-V 来提供更高的性能和完整的系统调用支持 |
| 性能 | ① 对于 Windows 文件系统(NTFS)的访问性能较好,因为它直接通过 Windows 系统进行文件操作 ② 对于 Linux 文件系统的访问相对较慢,特别是在需要大量文件操作时表现不佳 | ① 对于 Linux 文件系统的访问性能大幅提升,因为它在虚拟机中运行了真实的 Linux 文件系统 ② 对于 Windows 文件系统的访问相对较慢,因为需要通过网络协议(9P 文件协议)来访问 Windows 文件 |
| 兼容性 | WSL1 支持运行大部分 Linux 命令行工具和应用程序,但由于没有真正的 Linux 内核支持,对于需要复杂系统调用的程序(如 Docker 等容器技术)兼容性较差 | WSL2 提供了完整的 Linux 内核支持,因此可以运行几乎所有的 Linux 应用程序,包括 Docker、KVM 等需要底层内核支持的工具和服务 |
| 启动速度 | WSL1 启动非常快,因为它没有完整的虚拟机或者内核启动过程 | WSL2 运行在轻量级虚拟机中,允许用户限制和管理虚拟机的资源(如 CPU、内存等) 虽然 WSL2 启动比 WSL1 稍慢,但由于使用了优化的虚拟机技术,启动速度依然很快,资源开销较小 |
| 优点 | ① 启动快,轻量化,适合简单的命令行工具和开发任务 ② 对于 Windows 文件系统的访问较快,适合需要频繁操作 Windows 文件的任务 | ① 完整的 Linux 内核支持,兼容性好,能够运行更多的复杂应用程序和服务 ② 对于 Linux 文件系统的操作性能大幅提升,特别适合 Linux 开发者和需要频繁操作 Linux 文件的任务 |
| 缺点 | ① 由于没有真正的 Linux 内核,对某些应用程序(如 Docker、KVM 等)不完全兼容 ② 对于 Linux 文件系统的访问较慢 | ① 对于 Windows 文件系统的访问较慢 ② 虽然虚拟机启动较快,但相较于 WSL1 依然稍慢 |
1.3、配置安装
① 启用或关闭Windows功能 → 勾选适用于 Linux 或 Windows 子系统 和 虚拟机平台 和 Hyper-V
② 以管理员的身份运行 cmd,执行wsl --install -d Ubuntu
可能出现的错误:WslRegisterDistribution failed with error: 0x800701bc(安装WSL分发时出现的错误,即需要需要手动安装WSL)
解决:手动下载 → next → finish
2、 基本
2.1、基本命令
| 命令 | 描述 |
|---|---|
| 查看可安装的子系统 | wsl --list --online |
| 查看已经安装好的子系统的列表 | wsl --list -v(*表示当前默认的Linux子系统) |
| 设置默认的子系统 | wsl --set-default <name> |
| 启动子系统 | wsl -d Ubuntu |
| 退出子系统 | exit |
| 卸载子系统 | wsl --unregister <name> |
| 备份 | wsl --export <name> xxx.tar(会导出到桌面上) |
| 导入子系统 | wsl --import <new_name> <location> xxx.tar |
相关文章:
【学习笔记】WSL
WSL 1、 介绍 1.1、概述 1.2、版本 1.3、配置安装 2、 基本 2.1、基本命令 1、 介绍 1.1、概述 WSL 是 Windows Subsystem for Linux 的缩写,中文称为 Windows 下的 Linux 子系统。它是微软在 Windows 上提供的一种功能,允许用户在 …...
python assert 断言用法
语法: try:assert 条件表达式, "可选的错误消息" except AssertionError as error:print(f"断言失败:{error}")其中, try...except是异常处理语法结构,try可以测试代码块中的错误,并在出现异常时…...
MySQL事务、索引、数据恢复和备份
MySQL事务、索引、数据恢复和备份 1.MySQL的事务处理 事务就是将一组SQL语句放在同一批次内去执行 如果一个SQL语句出错,则该批次内的所有SQL都将被取消执行 MySQL的事务实现方法 : SET AUTOCOMMIT 使用SET语句来改变自动提交模式 SET AUTOCOMMIT 0; # 关…...
什么是chatgpt?国内有哪些类gpt模型?
什么是ChatGPT? “ChatGPT”这个名字越来越多地出现在我们的生活中。简单来说,ChatGPT是OpenAI开发的一种人工智能对话模型。它基于GPT(Generative Pre-trained Transformer,生成式预训练变换模型)架构,能…...
ISP基本框架及算法介绍 ISP(Image Signal Processor)
ISP基本框架及算法介绍 ISP(Image Signal Processor),即图像处理,主要作用是对前端图像传感器输出的信号做后期处理,主要功能有线性纠正、噪声去除、坏点去除、内插、白平衡、自动曝光控制等,依赖于ISP才能在不同的光学条件…...
Stable Diffusion 的 ControlNet 主要用途
SD(Stable Diffusion)中的ControlNet是一种条件生成对抗神经网络(Conditional Generative Adversarial Network, CGAN)的扩展技术,它允许用户通过额外的输入条件来控制预训练的大模型(如Stable Diffusion&a…...
矩阵分析 学习笔记4 内积与Gram矩阵
内积 定义 由于对称,第二变元线性那第一变元也线性了。例如这个:...
iOS 消息机制详解
应用 解决NSTimer、CADisplayLink循环引用。 二者都是基于runloop的定时器,由于处理事件内容不一样,runloop 每运行一次运行耗时就不一样,无法准确的定时触发timer的事件。 NSProxy 与 NSObject 如果继承自NSProxy 直接开始消息转发&…...
深入理解Spring Data JPA与接口编程
目录 1. 什么是Spring Data JPA? 2. 如何使用Spring Data JPA? 3. 示例代码 4. 使用Query注解 5. 拓展知识:接口编程的好处 6. 结论 在软件开发领域,接口(Interface)是一种定义了方法签名但没有实现的…...
Wireshark学习使用记录
wireshark 是一个非常好用的抓包工具,使用 wireshark 工具抓包分析,是学习网络编程必不可少的一项技能。 原理 Wireshark使用的环境大致分为两种:一种是电脑直连互联网的单机环境,另外一种就是应用比较多的互联网环境,也就是连接…...
OpenCV特征检测(9)检测图像中直线的函数HoughLines()的使用
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在二值图像中使用标准 Hough 变换查找直线。 该函数实现了用于直线检测的标准 Hough 变换或标准多尺度 Hough 变换算法。详见 http://homepages…...
力扣 中等 445.两数相加 II
文章目录 题目介绍题解 题目介绍 题解 首先反转两个链表,再调用 2. 两数相加 链接的代码,得到链表,最后将其翻转即可。 class Solution {public ListNode addTwoNumbers(ListNode l1, ListNode l2) {l1 reverseList(l1);l2 reverseList(l…...
华为云徐峰:AI赋能应用现代化,加速软件生产力跃升
2024年9月19日,在华为全联接大会2024的“AI赋能应用现代化,加速软件生产力跃升”论坛上,华为云PaaS服务产品部部长徐峰发表了主题演讲,介绍了未来应用智能化演进趋势,分享了智能化应用的行业实践,并发布了华…...
C发送邮件技巧:如何批量发送个性化邮件?
C发送邮件的高效步骤指南?C语言怎么实现SMTP发邮件? 为了提高邮件营销的效果,掌握C发送邮件的技巧,特别是如何批量发送个性化邮件,显得尤为重要。AokSend将详细介绍C发送邮件的技巧,帮助您在邮件营销中取得…...
基于python+spark的外卖餐饮数据分析系统设计与实现(含论文)-Spark毕业设计选题推荐
博主介绍: 大家好,本人精通Java、Python、C#、C、C编程语言,同时也熟练掌握微信小程序、Php和Android等技术,能够为大家提供全方位的技术支持和交流。 我有丰富的成品Java、Python、C#毕设项目经验,能够为学生提供各类…...
权限维持——Linux
前提 已经提权到管理员权限 一、创建账户 1、创建一个自定义密码的账户 已知,Linux中所有的用户的信息 存储在/etc/passwd这个文件中 。可以利用管理员权限修改这个文件, 添加一个账户 。 利用linux中的密码的编码算法 生成对应密码 (不知…...
申请SSL证书闭坑方法
上来先问一个问题,为什么自己不能成立CA机构发SSL证书产品?为什么有的CA机构不能发被信任SSL证书产品? 真正原因是,SSL证书里面的根证书需要提前放入操作系统及浏览器,然而这些浏览器和操作系统的版本很多,…...
linux 下域名解析错误
本文参考这里 作者:程序那点事儿 日期:2024/01/31 16:25 ping raw.githubusercontent.com,ping这个域名时,发现返回的是本地ip 原因是,配置了本地网关地址 192.168.xx.1 用命令查看默认网卡的网关:nmcli …...
基于单片机的角度、水位、温度、辅助热源、电机仿真
目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机 采用滑动变阻器连接ADC0832数模转换器模拟角度传感器,水位传感器; 采样DS18B20温度传感器检测温度 通过LCD1602显示,第一行显示温度、水位、角度…...
泛函分析精解【1】
文章目录 平方可积函数平方可积函数一、定义二、性质三、公式四、计算五、例子六、例题 平方可积函数在泛函分析一、定义二、性质三、公式四、计算五、例子六、例题 L 2 空间 L_2空间 L2空间定义性质公式计算例子例题 实变函数与罗曼积分实变函数与Riemann积分的联系实变函数…...
AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
libfmt: 现代C++的格式化工具库介绍与酷炫功能
libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库,提供了高效、安全的文本格式化功能,是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全:…...
LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别(二)
在上一篇文章中,我们详细介绍了如何使用LLaMA-Factory框架对Qwen2-VL大模型进行微调,以实现人脸情感识别的功能。本篇文章将聚焦于微调完成后,如何调用这个模型进行人脸情感识别的具体代码实现,包括详细的步骤和注释。 模型调用步骤 环境准备:确保安装了必要的Python库。…...
Axure 下拉框联动
实现选省、选完省之后选对应省份下的市区...
spring Security对RBAC及其ABAC的支持使用
RBAC (基于角色的访问控制) RBAC (Role-Based Access Control) 是 Spring Security 中最常用的权限模型,它将权限分配给角色,再将角色分配给用户。 RBAC 核心实现 1. 数据库设计 users roles permissions ------- ------…...
[USACO23FEB] Bakery S
题目描述 Bessie 开了一家面包店! 在她的面包店里,Bessie 有一个烤箱,可以在 t C t_C tC 的时间内生产一块饼干或在 t M t_M tM 单位时间内生产一块松糕。 ( 1 ≤ t C , t M ≤ 10 9 ) (1 \le t_C,t_M \le 10^9) (1≤tC,tM≤109)。由于空间…...
