WSL(Windows上的Linux子系统)
WSL(Windows上的Linux子系统)
WSL,Windows Subsystem for Linux,就是之前的Bash on [Ubuntu on] Windows(嗯,微软改名部KPI++),在wsl环境下我们可以运行一些Linux程序。
首先要说一句,其实Windows 10在一周年更新(1607,内部版本14393)的时候就加入了wsl,但是直到刚刚更新的秋季创意者更新(1709,内部版本16299),wsl才正式脱离beta,逐渐趋于稳定,所以我选择这个时候再写这篇文章。以下内容都是基于秋季创意者更新(1709,内部版本16299.19)。
接下来,我们正式介绍并安装wsl。
Windows Subsystem for Linux(简称WSL)是一个为在Windows 10上能够原生运行Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,目标是使纯正的Ubuntu 14.04 "Trusty Tahr"映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。[1][2][3]
WSL提供了一个微软开发的Linux兼容内核接口(不包含Linux代码),来自Ubuntu的用户模式二进制文件在其上运行。[4]
该子系统不能运行所有Linux软件,例如那些图形用户界面,以及那些需要未实现的Linux内核服务的软件。[5]不过,这可以用在外部X服务器上运行的图形X Window系统缓解。[6]
此子系统起源于命运多舛的Astoria项目,其目的是允许Android应用运行在Windows 10 Mobile上。[5]此功能组件从Windows 10 Insider Preview build 14316开始可用。[7]
——维基百科
首先打开设置,进入应用,选择程序和功能,点击启用或关闭Windows功能,勾选适用于Linux的Windows子系统,接下来重启。


在beta的时候我们需要在powershell里面输入bash才能下载wsl,而且没有国内下载节点,不支持断点续传,所以一旦网络不稳定就废了。在1709版本的Windows10中,我们可以去商店搜索Ubuntu来下载,现在不但有Ubuntu,还有SUSE和openSUSE。(在Windows商店里下载Ubuntu是不是感觉很诡异w(゚Д゚)w


安装完成之后我们就可以进行折腾了,有人可能会好奇那如何使用windows上的文件呢?其实windows的目录全部挂载在/mnt这个目录下,我们可以在/mnt/c目录下看到c盘的各种文件。好了,先运行一下screenfetch来看看。

作为一个java web developer,常用的大概就是ssh,git,jdk,tomcat,nginx等等。我们一一来测试一下。
SSH
我们可以看到ssh远程连接可以正常使用,所以嘛putty或者xshell这种东西可以卸载了(逃

Git
git的各种命令也很正常。

JDK
接下来测试jdk,我们来编译一小段代码试试看,可以看到jdk也没什么问题。

Tomcat&Nginx
我们启动tomcat,然后在Edge浏览器里面访问,便可以看到tomcat的默认首页,是不是很神奇?当然nginx也是没有问题的。


另外,gcc和clang经过测试也可以使用,这里就不再展示了。
据说大神们已经可以在wsl上运行图形化的Linux程序了,这点我没有测试过,有兴趣的小伙伴可以自行折腾。
那如果我们把wsl里面的环境折腾乱掉怎么办?得益于Windows商店的好处,我们只要卸载并重新在商店下载即可。

最后,我认为wsl对windows平台的开发者绝对是重大利好,一方面,一部分linux上好用的工具也可以在windows平台上使用了,另一方面,在windows上开发好的程序可以直接部署到wsl上测试,这样就能保证开发环境和生产环境尽可能的相似。好了,Enjoy it!
(btw,贴几个wsl的相关资料,感兴趣的小伙伴自行阅读研究。
release notes:
https://msdn.microsoft.com/en-us/commandline/wsl/release_notes
WSL团队的blog:
https://blogs.msdn.microsoft.com/wsl/
issue tracker:
https://github.com/Microsoft/BashOnWindows/issues
WSL(Windows上的Linux子系统)的更多相关文章
- 关于WSL(Windows上的Linux子系统)的介绍
WSL,Windows Subsystem for Linux,就是之前的Bash on [Ubuntu on] Windows(嗯,微软改名部KPI++ 首先要说一句,其实Windows 10在一周 ...
- 关于WSL(Windows上的Linux子系统)的简单介绍及安装
WSL,Windows Subsystem for Linux,就是之前的Bash on [Ubuntu on] Windows(嗯,微软改名部KPI++),在wsl环境下我们可以运行一些Linux程 ...
- Windows下的Linux子系统安装,WSL 2下配置docker
Windows下的Linux子系统安装,WSL 2下配置docker 前提条件: 安装WSL 2需要Windows 10版本是Build 18917或更高,首先先确认系统版本已升级. 在“启用或关闭W ...
- Windows10上使用Linux子系统(WSL)
Linux的Windows子系统让开发人员可以直接在Windows上运行Linux环境(包括大多数命令行工具,实用程序和应用程序),而无需建立在虚拟机的开销之上,整个系统共200多M,但包含了你能用到 ...
- WSL(Windows Subsystem for Linux)的安装与使用
有关WSL的介绍这里就不做解释了.另外,本文仅适用于win10 build 16215以及之后的版本,之前的版本可参考官方链接. (可使用“winver”命令查看windows版本号) 安装: 1. ...
- Windows上使用Linux命令
WSL Windows Subsystem for Linux(简称WSL)是一个在Windows 10上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层.它是由微软与Canonical公 ...
- Windows 10 下 Linux 子系统的安装和使用
介绍 适用于 Windows 的 Linux 子系统(英语:Windows Subsystem for Linux,简称 WSL)是一个为在 Windows 10 和 Windows Server 2 ...
- windows 下使用Linux子系统
在 Windows 上进行 web 开发,比较普遍的方案是使用 phpstudy 或者别的一些集成环境软件进行环境搭建,写好代码后将代码上传至版本管理工具 git/svn,再将代码同步到 Linux ...
- 在Windows上运行Linux
在Windows上运行Linux 之前了解过一些适用于linux的Windows子系统,最近又听人提起,于是在自己的Windows 10专业版上安装了一个Ubuntu.运行起来还真方便,以后在wind ...
随机推荐
- POJ 1325 && ZOJ 1364--Machine Schedule【二分图 && 最小点覆盖数】
Machine Schedule Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 13071 Accepted: 5575 ...
- mybatis自己主动生成mapper,dao,映射文件
一.先创建数据脚本,这里用的mysql数据脚本 drop table VOTE_ITEM; drop table VOTE_OPTION; drop table VOTE_SUBJECT; drop ...
- 跨域使用onmessage实现方式
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- JavaScript笔记(2)
-->变量的定义 1.取得并使用值是所有程序设计中的要点 2.JS中的变量是没有类型的,在JS中只有值才持有类型,变量所持有的是其对应值的类型. 3.变量的取名要符合标识符的规则: (1)一个J ...
- poweroff---关闭计算机操作系统并且切断系统电源。
poweroff命令用来关闭计算机操作系统并且切断系统电源. 语法 poweroff(选项) 选项 -n:关闭操作系统时不执行sync操作: -w:不真正关闭操作系统,仅在日志文件“/var/log/ ...
- 【Educational Codeforces Round 36 D】 Almost Acyclic Graph
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 找到任意一个环. 然后枚举删掉其中的某一条边即可. (因为肯定要删掉这个环的,那么方法自然就是删掉其中的某一条边 (其它环,如果都包 ...
- 通过wireshark,以及python代码收发邮件,了解smtp协议,pop协议工作过程
40返回连接server成功 41.43发送ehlo命令查询server支持命令 返回250 44.46请求认证 server响应235认证成功 47.49发送mail命令发送者邮箱 返回250 ...
- iTOP-4412开发板p2p视频
整体框架: 一.发送端 1.摄像头通过V4L2接口得到YUV视频格式,可以在win7上用yuvplayer播放 2.使用4412硬件编码模块MFC提供的接口进行硬件编码,得到.264文件,可以在win ...
- php 生成文件txt到指定目录
// 向文件追加写入内容 $site = PHP_EOL.date("Y-m-d H:i:s")."world"; //PHP_EOL换行 // 使用 FILE ...
- BZOJ1503: [NOI2004]郁闷的出纳员(Splay)
Description OIER公司是一家大型专业化软件公司,有着数以万计的员工.作为一名出纳员,我的任务之一便是统计每位员工的 工资.这本来是一份不错的工作,但是令人郁闷的是,我们的老板反复无常,经 ...