本文介绍了WSL的基本信息和WSL的基础部署操作
一、关于WSL
什么是WSL?
WSL即”Windows Subsystem for Linux”, 官方给出的中文名称为“适用于Linux的Windows子系统”
- 可让开发人员按原样运行 GNU/Linux 环境
- 包括大多数命令行工具、实用工具和应用程序
- 不会产生虚拟机开销
你可以:
- 在 Microsoft Store 中选择你偏好的 GNU/Linux 分发版
- 运行常用的命令行软件工具(例如 grep、sed、awk)或其他 ELF-64 二进制文件
- 运行 Bash shell 脚本和 GNU/Linux 命令行应用程序,包括:
- 工具:vim、emacs、tmux
- 语言:NodeJS、Javascript、Python、Ruby、C/ C++、C# 与 F#、Rust、Go 等
- 服务:SSHD、MySQL、Apache、lighttpd、MongoDB、PostgreSQL
- 使用自己的 GNU/Linux 分发包管理器安装其他软件
- 使用类似于 Unix 的命令行 shell 调用 Windows 应用程序
- 在 Windows 上调用 GNU/Linux 应用程序
以上基本是从MS官方文档复制来的,实际上我的使用感受就两个字:方便
我可以在使用工具的时候不限于Windows平台,因为WSL可以轻松访问我在windows上的本地文件;举个例子:我可以在使用windows优秀的文本编辑器写代码,之后使用linux中的程序进行编译和运行。
wsl下/mnt/
可以找到windows的文件目录
二、关于WSL2
在网上搜索WSL,会得到很多WSL2的结果,我也一度对我的WSL版本产生困惑,尤其是试图使用windows的代理时,WSL2不与windows共用IP,需要得到主机IP才可以设置代理。
直到我看到了MS的文档,我才知道自己仍是WSL1
1
只有 Windows 10 版本 2004 的内部版本 19041 或更高版本中才提供 WSL 2。 你可能需要更新 Windows 版本。
我相信发文的时候绝大多数用户没有升级2004,如需查看windows版本,请使用组合键win + r
呼出“运行”窗口,输入winver
回车。
另外,WSL2的主要目标是提高文件系统性能,以及添加完全的系统调用兼容性,速度和兼容性在新版本中的WSL中应该会得到提高。
三、配置WSL
1. 下载WSL
从微软应用商店(Microsoft Store)下载,搜索Ubuntu,建议下载18.04 LTS版本
若应用商店网络连接出现问题,请检查系统代理(System Proxy)是否关闭
2. WSL功能
windows默认关闭WSL功能,请善用win + q
的搜索功能,在启用或关闭Windows功能
中勾选适用于 Linux 的 Windows 子系统
复选框,并在确认之后重启电脑。
3. 换源
和普通的linux一样,由于国内的网络环境,需要换源。 换源方法和普通的Ubuntu一样,详情请见我的另一篇博客:Ubuntu更换阿里源
4. 批处理文件执行WSL命令以及开机自启动
4.1 批处理文件执行wsl命令
新建一个.bat批处理文件,使用记事本打开它,输入
1
C:\Users\用户名\AppData\Local\Microsoft\WindowsApps\WSL程序的名称 run "需要执行的命令"
- Ubuntu 18.04 LTS的WSL程序名称为ubuntu1804.exe
- Ubuntu 16.04 LTS为ubuntu1604.exe
- Ubuntu为ubuntu.exe
例如
1
2
C:\Users\long\AppData\Local\Microsoft\WindowsApps\ubuntu1804.exe run "apt update"
C:\Users\long\AppData\Local\Microsoft\WindowsApps\ubuntu1804.exe run "apt upgrade"
即WSL更新软件源、更新软件
4.2 开机自启动
使用组合键win + r
呼出“运行”窗口,输入shell:startup
回车。此时弹出一个文件夹,Windows会在开机时执行这个文件夹中的所有程序(可以使用快捷方式)
我们将上文的得到的.bat文件放入其中,即可开机启动wsl。
如果不希望弹出命令窗口,那么可以把.bat批处理文件放在其他地方,然后在那个文件夹中创建一个快捷方式,在属性中把运行方式改为最小化