Windows、Linux虽然看似两套对立的系统,但也一直在努力尝试互通,比如微软这边,Windows 10此前就增加了WSL Linux子系统,接下来还会持续改进、升级。从今年4月份的Windows 10 v1903更新版开始,Windows 10将加入一项新技能,可以直接在默认的文件资源管理器中访问Linux系统下的文件。方式很简单:运行你的Linux发行版,定位到主目录下,然后输入命令“
explorer.exe .”(注意有个空格),这样就会打开一个资源管理器窗口,定位在Linux系统文件目录。
在这里,你可以像在Windows下一样执行各种熟悉的操作,包括在不同文件夹之间拖拽文件、复制与粘贴、使用右键菜单,甚至是打开VSCode。
这种方式下访问的Linux文件,会被放置在一个名为“
\wsl$<distro_name>”的虚拟目录内,其中的running_distro_name就是当前运行的Linux发行版的名字,比如Ubuntu、Debian等等。另外,WLS是一个命令行工具,所以上述功能也可以在命令行模式下使用,只需嵌入“\wsl${distro_name}”命令即可,含义同上。
微软表示,为了实现Windows下对Linux文件的访问,特意在WLS初始化进程内加入了一个9P协议服务器,它包含支持Linux元数据的协议,包括权限,Windows系统再通过特殊服务、驱动作为客户端,通过AF-UNIX socket与9P服务器通信。需要注意的几点:1、目前只有在Linux发行版正运行的情况下,Windows 10才能访问其文件,未来将取消此限制。2、这种方式访问Linux文件,就像访问网络资源一样,规则是相同的,比如不能用CMD命令。3、其他Linux文件相关规矩依然有效,比如不要尝试访问AppData文件夹。