Windows10上使用Linux子系统(WSL)

2019-07-23 14:49:40

Linux的Windows子系统让开发人员可以直接在Windows上运行Linux环境(包括大多数命令行工具,实用程序和应用程序),而无需建立在虚拟机的开销之上,整个系统共200多M,但包含了你能用到的所有功能,并且和windows完美互操作(省去linux挂载本地windows分区或目录的操作),目前Linux的windows子系统已经相当完善,可当作完整linux系统使用

您可以:

  1. 从Windows应用商店中选择您最喜爱的Linux发行版

  2. 运行常用的命令行实用程序,如grepsedawk等。

  3. 运行Bash shell脚本和Linux命令行应用程序,包括:

    • 工具:vim,emacs,tmux

    • 语言:Javascript / node.js,Ruby,Python,C / C ++,C#和F#,Rust,Go等

    • 服务:sshd,MySQL,Apache,lighttpd

  4. 使用发行版的内置包管理器(apt-get安装其他Linux工具

  5. 从Linux控制台调用Windows应用程序。

  6. 在Windows上调用Linux应用程序。

安装Linux的Windows子系统

 在小娜窗口搜索“功能”

 

或者直接PowerShell中运行以下命令

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

出现提示重新启动计算机

安装Linux

在应用商店搜索“Linux”,选择您喜欢的Linux版本,推荐安装Ubuntu

注意:应用商店的程序使用默认路径,不要更换到其他盘符

安装完毕后出现

现在可以在里面进行任何和linux相关的命令

mnt文件夹就进入了windows系统的文件系统

用linux命令对windows文件进行操作

cmd.exe或者power shell中执行linux命令

在power shell中执行bash.exe,进入linux环境下

 

以上路径显示:在windows中的c文件夹下(C盘符)

 

 windows与linux交互演示

 

切记:小心执行mkdir -rf mnt


  • 2020-01-30 11:19:58

    Android中添加两个(多个)FileProvider节点问题

    我们知道在android7.0,修改了对私有存储的限制,导致在获取资源的时候,不能通过Uri.fromFile(..)来获取uri了,但是在写入数据的时候是可以通过Uri.fromFile(..)来获取uri的,android 官网给出的解决办法是通过FileProvider来解决这一问题,我们需要在AndroidManifest.xml 配制provider节点。

  • 2020-02-02 15:40:36

    Apache Commons IO之IOUtils优雅操作流

    在开发过程中,你肯定遇到过从流中解析数据,或者把数据写入流中,或者输入流转换为输出流,而且最后还要进行流的关闭,原始jdk自带的方法写起来太复杂,还要注意各种异常,如果你为此感到烦恼,那IOUtils可以让我们优雅的操作流。

  • 2020-02-02 19:24:38

    百度视频SDK,突然不能播放

    开发过程中,不知道什么时候开始视频不能播发了,怎么办都不行,其他项目没问题,线上都也没有问题,这可急躁完蛋我了,整了仨小时,还是那熊样。 哎。

  • 2020-02-04 18:43:10

    AssetManager.finalize() Timed Out 解决办法以及分析

    在我们的项目崩溃中,有一个比较常见的bug,就是 java.util.concurrent.TimeoutException android.content.res.AssetManager.finalize() timed out after 10 seconds 意思简单明了,就是说在AssetManager析构的时候发生了超时异常。

  • 2020-02-06 13:32:10

    android.os.NetworkOnMainThreadException

    在Android 4.0以上,网络连接不能放在主线程上,不然就会报错android.os.NetworkOnMainThreadException。但是4.0下版本可以不会报错。