Windows Linux子系统(WSL)是Windows 10 操作系统的子系统,开发人员、测试人员可以通过它们直接从Windows运行本机Linux应用程序、编写脚本和执行命令。在微软公司发布的Windows 10 2004中,出现了WSL的第二个版本,该版本使用了成熟的Linux内核并能够运行Docker应用程序和容器,实现了高加载速度、少量资源消耗、在后台进行管理、更新的内核,这样,用户将能够运行无需使用第三方端口(例如Cygwin)就可以访问Windows文件系统的ELF64程序。
Windows 10中的Linux内核映像(内核版本4.19)是轻量级虚拟机,不需要运行完整的Hyper-V角色。Linux系统调用无需使用仿真器就可以即时转换为Windows调用(与WSL1不同)。
WSL组件默认是被禁用的,要启用它,需要转到开始->控制面板->程序->程序和功能->启用或关闭Windows功能(或者控制面板\所有控制面板项\程序和功能\打开或关闭Windows功能),选中“适用于Linux的Windows子系统”选项,单击确定,然后重新启动计算机。
安装后,可以使用以下命令检查正在使用的WSL的版本:
wsl --list –-verbose
如果你的Linux环境是版本1,则需要使用以下命令将其更改为WSL2:
wsl --set-version Ubuntu-20.04 2
具有Linux Ubuntu 20.04虚拟机映像的硬盘文件将位于用户配置文件中:
C:\Users\234\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState
安装分发套件后,其快捷方式将出现在开始菜单中。要启动Ubuntu,请转到“开始”菜单,单击相应的快捷方式,然后在单独的窗口中获得完整的Bash shell。也可以使用wsl命令运行WSL。第一次在Bash命令提示符下运行映像时,系统将提示你创建用户和密码(该密码不能与Windows帐户相同)。要以root用户身份运行命令,你需要使用其他键(前缀)sudo。WSL对于Bash和CMD具有通用命令,请记住Linux区分大小写。
你可以从CMD执行Linux命令。为此,你必须首先指定“WSL”,例如,要查看Windows目录中的文件和文件夹列表,请运行:
wsl
ls /mnt
ls/mnt/c
dir | wsl grep Sa
wsl ls la > 123.txt
wsl ls la /proc/cpuinfo
wsl ls la “/mnt/c/Program Files”
也可以使用explorer.exe、计算器-calc.exe、记事本-notepad.exe、画图-mspaint.exe、日历-cal、天气-curl wttr.in打开资源管理器。
可以显示网络设置(IP地址)Linux系统的IP地址:
ip addr | grep eth0
WSL不支持GUI应用程序,但是,你可以尝试安装和使用它们。要在Linux上运行图形应用程序,你需要在Windows(http://sourceforge.net/projects/vcxsrv/)上下载并安装VcXsrv Windows X Server程序。