WSL的全称是Windows Subsystem Linux,可以在Windows下使用部分Linux的软件,介绍WSL的文章很多,这里就给出几篇个人觉得不错的,然后给出个人配置的思路以及积累的一些使用技巧
为什么要使用WSL
- 有大量方便的命令行工具,同时因为平时在Windows下方便调用和熟悉
- 学习Linux的过程中容易把系统玩坏,WSL在沙盒中运行方便备份,玩坏了不影响正常的工作
- 相对于虚拟机要轻量很多,启动速度很快
- 偶尔一些环境和依赖不想在Windows下面操作,丢到WSL里面就好了,同时也方便迁移到VPS上
- 之前又大量的人对WSL进行了探索,微软也比较重视,WSL即将成为最好的Linux发行版….
配置方面可以参考的文章
距离写下这篇文章已经过一段时间了,深感这种类型文章的提供信息的及时性完全依赖于个人的使用情况,例如我一年半重装一次Win10才有机会去看最新的配置方法,例如: 最开始的WSL安装方式是命令行,之后是应用商店,下载的速度都很感人,现在使用scoop+aria2可以快速安装arch的wsl
scoop bucket add extras
scoop install archwsl
wsl -d arch
就发行版而言,个人Ubuntu用的多一点,工具相对更加熟悉,之前有使用过wsl的debian,就发现某些ubuntu下常用的工具是没有的,而且安装起来也不是apt install那么简单
Windows10内置Linux子系统初体验,这篇文章写的很详细,并且保持更新了一段时间,值得参考 解决Linux子系统中文字体渲染惨不忍睹的情况,早期的版本有,之后的不太清楚
个人的配置思路
首先就是权限问题,大概是为了省事,所以安装的时候直接选的root用户
GUI方面,有需要可以安装,但是Linux的精髓还是在命令行,另外就是部署开发环境在WSL上,这里特别推荐一个项目: Dev on Windows with WSL
顺带推荐下作者的博客,部分文章的主题和个人的博客差不多,但是写的更好
终端
尽管win10安装WSL之后会给一个单独的cmd终端,但是字体简直惨不忍睹,顺带就把终端的给换了,cmder或者ConEmu都是不错的,定制方面可以做些工作,比如说添加右键菜单,方便随时在当前目录调出终端,然后需要修复下方向键的问题
Linux Bash on Win10 (WSL)在cmder下使用vim时方向键失灵问题解决
另外一个推荐的终端软件就是微软推出的Windows Terminal,一般来说微软开发的软件兼容性和效率都要好些,可以参考配置Windows下的终端与Shell
使用技巧
关于挖坑和填坑,一般比较难找
WSL与Win的互通
在WSL和Windows的程序是可以互相调用的,各自的使用新式如下 WSL下使用 软件名.exe win下使用 WSL的命令
#wsl下使用win的文件管理器打开当前目录
explorer.exe .
#win下调用 wsl的字数统计
cat C:\Users\USER/.ssh/id_rsa | wsl wc
大小写敏感
偶尔可能会遇到WSL和Win文件系统的大小写问题: Win下不区分,WSL系统下区分,但是使用Win的目录时文件系统却是不区分的,例如WSL编译OpenWrt时会报错,需要做些修改
fsutil.exe file setCaseSensitiveInfo <path> enable
其他
据说是由于Windows防火墙的存在,WSL下的网络功能是残缺的,比如说ping和traceroute完全无法使用
WSL2
Announcing WSL 2,最大的变化在于在Win10内置了完整的Linux内核,在Win10 2004更新终于带来了这一重磅功能,但是这里要先说明的是,暂时WSL2还不支持GPU,但是在不久的将来就会更新并支持,这里必须给微软点个赞,下面是我所感知到的变化:
- 不再有文件系统的大小写敏感的问题,文件系统向Linux靠近,已经可以直接编译OpenWrt了
- 网络功能如traceroute,mtr正常
- 上面提到的Win可以运行WSL的命令,但是WSL2不能再使用Win10的
explorer.exe
的图形化界面的文件管理器了 - 使用WSL2依然需要安装WSL1,这部分可以通过教程查到