WSL,Windows Subsystem for Linux,就是之前的Bash on [Ubuntu on] Windows(嗯,微软改名部KPI++

首先要说一句,其实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

安装完成之后我们就可以进行折腾了,先运行一下screenfetch来看看。

作为一个java web developer,常用的大概就是ssh,git,jdk,tomcat,nginx等等。我们一一来测试一下。

SSH

我们可以看到SSH可以正常使用,所以嘛putty或者xshell这种东西可以卸载了(逃

Git

git的各种命令也很正常。

JDK

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

Tomcat&Nginx

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

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

关于WSL(Windows上的Linux子系统)的介绍的更多相关文章

  1. WSL(Windows上的Linux子系统)

    WSL(Windows上的Linux子系统) WSL,Windows Subsystem for Linux,就是之前的Bash on [Ubuntu on] Windows(嗯,微软改名部KPI++ ...

  2. 关于WSL(Windows上的Linux子系统)的简单介绍及安装

    WSL,Windows Subsystem for Linux,就是之前的Bash on [Ubuntu on] Windows(嗯,微软改名部KPI++),在wsl环境下我们可以运行一些Linux程 ...

  3. Windows下的Linux子系统安装,WSL 2下配置docker

    Windows下的Linux子系统安装,WSL 2下配置docker 前提条件: 安装WSL 2需要Windows 10版本是Build 18917或更高,首先先确认系统版本已升级. 在“启用或关闭W ...

  4. Windows10上使用Linux子系统(WSL)

    Linux的Windows子系统让开发人员可以直接在Windows上运行Linux环境(包括大多数命令行工具,实用程序和应用程序),而无需建立在虚拟机的开销之上,整个系统共200多M,但包含了你能用到 ...

  5. WSL(Windows Subsystem for Linux)的安装与使用

    有关WSL的介绍这里就不做解释了.另外,本文仅适用于win10 build 16215以及之后的版本,之前的版本可参考官方链接. (可使用“winver”命令查看windows版本号) 安装: 1.  ...

  6. Windows上使用Linux命令

    WSL Windows Subsystem for Linux(简称WSL)是一个在Windows 10上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层.它是由微软与Canonical公 ...

  7. Windows 10 下 Linux 子系统的安装和使用

    介绍 适用于 Windows 的 Linux 子系统(英语:Windows Subsystem for Linux,简称 WSL)是一个为在 Windows 10 和 Windows Server 2 ...

  8. windows 下使用Linux子系统

     在 Windows 上进行 web 开发,比较普遍的方案是使用 phpstudy 或者别的一些集成环境软件进行环境搭建,写好代码后将代码上传至版本管理工具 git/svn,再将代码同步到 Linux ...

  9. 在Windows上运行Linux

    在Windows上运行Linux 之前了解过一些适用于linux的Windows子系统,最近又听人提起,于是在自己的Windows 10专业版上安装了一个Ubuntu.运行起来还真方便,以后在wind ...

随机推荐

  1. 201521123010 《Java程序设计》第14周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. 2. 书面作业 1. MySQL数据库基本操作 建立数据库,将自己的姓名.学号作为一条记录插入.(截图,需出现自 ...

  2. 201521123045java课程设计---定时器

    #课程设计--定时器(201521123045 郑子熙) 1.团队课程设计博客链接 http://www.cnblogs.com/chendajia/p/7065730.html 2.个人负责模块或任 ...

  3. 201521123121 《Java程序设计》第10周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 进程:每个进程都有独立的代码和数据空间,进程间的切换会有较大的开销,一个进程包含1--n个线程. 线程:同一 ...

  4. JavaSE(十)之Collection总结

    前面几篇把集合中的知识大概都详细的说了一遍,但是我觉得还是要总结一下,这样的话,可以更好的理解集合. 一.Collection接口 首先我们要一张图来说明: Collection接口,它是集合的顶层接 ...

  5. RobotFramework自动化测试框架-移动手机自动化测试Clear Text关键字的使用

    Clear Text关键字用来清除输入框的数据,该关键字接收一个参数[ locator ],这里的locator指的就是界面元素的定位方式. 示例1:Clear Text清除输入框数据时,采用reso ...

  6. Struts2基于XML配置方式实现对Action方法进行校验

    JavaWeb框架(2)  使用XML对Action方法进行校验方式有两种,一种是对Action的所有方法进行校验,另一种是对Action指定方法进行校验. 对Action的所有方法进行校验: 步骤: ...

  7. ioc(Inversion of Control)控制反转和DI

    ioc意味着将你设计好的交给容器控制,而不是传统在你的对象中直接控制 谁控制了谁:传统的javaSE程序设计,我们直接在对象内部通过new进行创建对象,是程序主动去创建依赖对象:而ioc是有专门一个容 ...

  8. Struts2的核心运行流程,原理图解

    感觉很有必要制定一个计划,这样盲目的想到哪里写到哪里,不符合我大程序员的思维逻辑呀~~~嗯...那就从基本的开始吧,循循渐进,今天想到的先写上,不能浪费了,哈哈哈................... ...

  9. vue源码学习-vnode的挂载和更新流程

    概述 本文主要介绍在视图的渲染过程中,Vue 是如何把 vnode 解析并挂载到页面中的.我们通过一个最简单的例子来分析主要流程: <div id="app"> {{s ...

  10. BZOJ-1012-[JSOI2008]最大数maxnumber(线段树)

    Description 现在请求你维护一个数列,要求提供以下两种操作:1. 查询操作.语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值.限制:L不超过当前数列的长度.2. 插 ...