颠覆虚拟机的神器——WSL来了
提纲
1、wsl的安装
2、使用方法
2.1 linux文件系统和windows文件系统互相访问
2.2 linux下执行windows命令和windows下执行linux命令
2.3 linux下访问windows的网络服务和windows下访问linux的网络服务
1、wsl的安装
wsl是什么呢?wsl是windows subsystem for linux的简写,指的是windows10的一个子系统,这个子系统的作用是在windows下运行linux操作系统。
当然一旦运行linux操作系统,适用于linux的所有应用软件就都可以在其中运行,这样从使用者的角度看,似乎在windows上就可以运行本来只能在liunx下运行的各种软件和应用程序了。
有了wsl,就可以在windows10中运行linux操作系统了。
那么这么看来,似乎wsl就是一个windows10自带的虚拟机软件(比如virtualbox、vmware workstation等),他们到底一样不一样呢?事实上,wsl和虚拟机软件并不一样。
wsl和虚拟机只不过从表面上看起来是有点类似,在虚拟机中可以装linux操作系统,在wsl中也可以安装linux操作系统,比如ubuntu、centos等都可以安装,在虚拟机中安装linux后就可以运行linux上的典型软件了,比如vi、wget等命令行软件,在wsl中安装linux系统后,也可以运行这些linux中的应用软件,所以说,在从使用者的角度看、从表面上看,wsl和虚拟机软件是类似的。
可是,wsl和虚拟机软件的不同点在哪里呢?事实上,wsl底层实现上和虚拟机软件(比如virtual box,vmware workstation等)是不一样的,wsl运行linux的资源开销没有在虚拟机软件中运行linux的资源开销大。
wsl安装方法是和它的版本有关系,不同的版本安装方法稍有不同。目前wsl分为两个版本,1.0和2.0,WSL2 是 WSL1 的升级版,wsl1是将linux的syscall转成windows的系统调用,从而在windows上面搞出了一层linux兼容层,linux应用软件等都是运行在这个兼容层之上,wsl2底层还是基于hyperV的虚拟机的。
第一步、打开wsl子系统
1.0安装的时候需要打开windows可选功能中的“适用于Linux的Windows子系统”,2.0安装的时候不仅要打开可选功能中的“适用于Linux的Windows子系统”,还要打开“虚拟机平台”这个可选功能。
第二步、安装Linux系统
从windows自带的“Microsoft Store”中搜索“ubuntu”,选择ubuntu18.04安装。
安装后ubuntu18.04就会称为开始菜单中一个普通应用软件了,找到之后点击,就会打开ubuntu18.04的命令行界面:
这样就拥有一个ubuntu18.04的系统了,可以像使用虚拟机中的ubuntu或者服务器中的ubuntu一样使用它,没有任何的限制。
2、使用方法
下面是wsl的一些基本的使用方法,但是是最重要的使用方法。
2.1 linux文件系统和windows文件系统互相访问
在ubuntu下访问windows的文件系统的方法,也就是ubuntu下访问c盘、d盘、e盘的方法。
cd /mnt/
ls
cd进入对应盘符就可以看到c盘或者d盘或者e盘的文件了
windows下访问ubuntu文件系统的方法
在windows资源管理器界面中输入:
\wsl$,然后会出现各个ubuntu的图标,点击进入对应ubuntu的文件系统中。
2.2 linux下执行windows命令和windows下执行linux命令
2.1 启动与停止
# 启动默认 Linux 分发版
wsl# 以指定用户身份运行 Linux 分发版
wsl -u <username># 运行指定的 Linux 分发版
wsl -d <Linux分发版名称># 退出 Linux 分发版
exit# 终止指定的分发
wsl -t <Linux分发版名称># 终止所有运行的分发及 WSL 轻型工具虚拟机
wsl --shutdown
2.2 查看
# 列出已安装且可供使用的 Linux 分发版
wsl -l# 列出所有分发,包括当前不可用的分发
wsl -l --all# 仅列出当前正在运行的分发
wsl -l --running# 仅显示分发名称
wsl -l -q# 显示所有分发的详细信息
wsl -l -v
2.3 安装与卸载
# 列出可安装 Linux 分发版
wsl -l -o# 安装指定 Linux 分发版
wsl --install -d <Linux分发版名称># 卸载 Linux 分发版,卸载后可以重新安装
wsl --unregister <Linux分发版名称>
2.4 导入与导出
# 导入 Linux 分发版, 可加 --version 指定要用于新分发的版本
wsl --import <Linux分发版名称> <安装位置> <文件名># 导出 Linux 分发版,后缀名请以 tar 结尾
wsl --export <Linux分发版名称> <路径>2.5 其它# 设置默认 Linux 分发版
wsl -s <Linux分发版名称># 在不使用默认 Linux Shell 的情况下执行指定的命令
wsl -e <命令行># 更改新分发的默认安装版本
wsl --set-default-version <版本># 更新 WSL2 内核到最新版本
wsl --update# 还原到 WSL2 内核的先前版本
wsl --update --rollback# 更改指定分发的版本
wsl --set-version <Linux分发版名称> <版本>2.6 运行 Linux 命令
使用 wsl <Linux命令> 可以在 CMD 或 PowerShell 运行 Linux 命令,示例:wsl ls -la
以这种方式运行的命令使用的是同一个工作目录,并且以 WSL 默认用户的身份运行,拥有与调用方进程和终端相同的 Windows 管理权限。2.7 混合运行 Linux 和 Windows 命令
# 组合 Linux 的 ls 命令 和 powershell 的 findstr 命令
wsl ls -la | findstr "git"# 组合 powershell 的 dir 命令和 Linux 的 grep 命令
dir | wsl grep git# 组合 Linux 的 ls 命令 和 powershell 的 > 命令
组合 Linux 的 ls 命令 和 powershell 的 findstr 命令# 使用 Linux 命令 列出 Linux 文件
wsl ls -la /proc/cpuinfo# 使用 Linux 命令 列出 Windows 文件
wsl ls -la "/mnt/c/Program Files"2.8 从 Linux 运行 Windows 工具
WSL 可以使用 [tool-name].exe 直接从 WSL 命令行运行 Windows 工具。 例如,notepad.exe。以这种方式运行的应用程序具有相同的工作目录,拥有与 WSL 进程相同的权限,以活动 Windows 用户的身份运行,显示在 Windows 任务管理器中。
2.3 linux下访问windows的网络服务和windows下访问linux的网络服务
从 Windows 访问 Linux 网络应用
当在linux中启动一个网络服务,比如nginx中放一个网站,然后启动nginix,想要从windows中访问linux下nginx中的房展,可以使用 localhost 从 Windows 上访问 Linux 分发版中的应用。
从 Linux访问 Windows 网络应用
这种操作应该很少,但是还是了解一下吧。
如果要从 Linux 分发版访问 Windows 上运行的网络应用,则需要使用主机的 IP 地址。 你可以执行以下步骤来使其可行。
通过在 Linux 分发版中运行以下命令来获取主机的 IP 地址:cat /etc/resolv.conf 。
复制 nameserver 后面的 IP 地址可用于访问 Windows 上运行的网络应用。
参考文献
1、https://blog.csdn.net/tai532439904/article/details/112209312
2、https://www.jianshu.com/p/39a5b2e002b6
3、https://blog.csdn.net/weixin_45027467/article/details/106862520
4、https://blog.csdn.net/qq_43479892/article/details/123591840
颠覆虚拟机的神器——WSL来了相关推荐
- Java虚拟机性能管理神器 - VisualVM(2) 入门
一下载VisualVM 最新版本下载 历史版本下载 二启动VisualVM 三VisualVM用户目录 四VisualVM窗口 1应用程序窗口 2详情窗口 五VisualVM插件 Java虚拟机性能管 ...
- oracle vm virtualbox 虚拟光盘_虚拟机管理神器Vagrant完整操作手册来了
一个只用markdown语法编写文章的90后野路子Web架构师,每天都分享一些有用的知识点,欢迎关注- 前言 1. 概述 本文主要整理了一些Vagrant常用操作.包括安装Vagrant.常用插件.B ...
- win8虚拟机_用vm ware安装虚拟机必备的工具神器
今天给大家安利一个非常实用的网站,非常值得收藏.昨天在安装虚拟机的时候突然不知道去哪里下载镜像的系统包,经过一番操作,发现了这个牛逼网站!! 这个网站就是"MSDN我告诉你",没错 ...
- Linux上:使用VMware17安装Centos8.5并配置网络、WSL安装Ubuntu、
文章目录 第一章: Linux概述 1.1 操作系统 1.2 操作系统的发展史 1.3 Linux发行版 第二章WSL安装linux 2.1 WSL简介 2.2安装Ubuntu 2.3 Ubuntu功 ...
- java visualvm远程监控_深入理解JVM虚拟机12:JVM性能管理神器VisualVM介绍与实战
本文转自互联网,侵删 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutori ...
- 如何在 Windows 10 上安装 WSL 2
翻译自 Joey Sneddon 2020年10月30日的文章<How to Install WSL 2 on Windows 10> [1] 如果您想在最新的 Windows 版本中尝试 ...
- win10安装wsl步骤
步骤 1 - 启用可选功能项 在控制面板\程序\程序和功能 中选择 启用或者关闭Windows功能 找到 适用于Linux的Windows子系统 并勾选,然后 确定 ,选择 立即重新启动 然后以管理员 ...
- 大家来玩WSL(Windows Subsystem for Linux)
文章目录 (零)前言 (一)安装 1.1 安装其他发行版 (二)主机与网络 2.1 桥接网络 2.2 固定IP地址 2.3 改主机名 2.4 hosts文件 (三)启动运行 3.1 新建用户 3.2 ...
- WSL(Ubuntu20.04)与其图形界面安装配置
文章目录 WSL安装(1和2) WSL发行版手动下载网址 WSL的linux发行版常用命令 查看当前已安装发行版 查看正在运行的发行版 删除.卸载指定发行版 设置默认发行版 从命令行启动发行版 升级W ...
- win10安装docker,启动后提示WSL 2 installation is incomplete.
报错描述 win10下载安装docker,启动后提示WSL 2 installation is incomplete.截图如下 错误原因 使用的wsl2版本比较老,需要我们自己手动更新一下,我们根据提 ...
最新文章
- Kafka一条消息如何被存储到Broker上?
- Hibernate 集合映射
- 内部类不能有静态变量(除静态的对Static的理解)
- 用python发送email
- XML和HTML的不同点
- 2020 AI 产业图谱启动,勾勒中国 AI 技术与行业生态
- 软件工程(2018)结对编程第一次作业
- Python初学者的资源总结
- 华为云薅羊毛攻略来袭,走过路过不要错过
- momentum、Adagrad、RMSProp、Adam梯度下降总结
- python 显示表格数据匹配_比较两个电子表格文件并提取机器匹配数据的最简单和最快的方法是什么?...
- npm cnpm下载
- 数据结构——单向循环链表双向循环链表
- 云场景实践研究第79期:熊猫直播
- 基于SSM架构的网上书城系统
- Centos7上使用Kind搭建Kubernetes环境
- Spring Cloud限流详解
- Hdu 4503 湫湫系列故事——植树节
- 手游外挂入侵(三)外挂接口服务提供
- React实现登录表单
热门文章
- 新的用户故事待办列表就是一副地图
- Groundhog Looking Dowdy
- 逆元 阶乘逆元 数论 HDU 5651 xiaoxin juju needs help
- matlab gram-schmidt,性能 – 加权Gram-Schmidt正交化的MATLAB优化
- 蓝旭暑期培训——DOM事件+正则表达式
- OpenCV学习之Canny算法自实现
- aardio - 时钟例程
- [POJ 3683]Priest Johns Busiest Day
- 2021ICPC网络赛第一场【A Busiest Computing Nodes】【D Edge of Taixuan】
- ESP8266-Arduino编程实例-OPT3001数字环境光传感器