Windows、Linux 虽然看似两套对立的系统,但也一直在努力尝试互通,比如微软这边,Windows 10 此前就增加了 WSL Linux 子系统,接下来还会持续改进、升级。

  从今年 4 月份的 Windows 10 v1903 更新版开始,Windows 10 将加入一项新技能,可以直接在默认的文件资源管理器中访问 Linux 系统下的文件。

  方式很简单:运行你的 Linux 发行版,定位到主目录下,然后输入命令“explorer.exe .”(注意有个空格),这样就会打开一个资源管理器窗口,定位在 Linux 系统文件目录。

Windows 10新版改进:资源管理器可直接访问Linux文件

在这里,你可以像在 Windows 下一样执行各种熟悉的操作,包括在不同文件夹之间拖拽文件、复制与粘贴、使用右键菜单,甚至是打开 VSCode。 

Windows 10新版改进:资源管理器可直接访问Linux文件

这种方式下访问的 Linux 文件,会被放置在一个名为“wsl$”的虚拟目录内,其中的 running_distro_name 就是当前运行的 Linux 发行版的名字,比如 Ubuntu、Debian 等等。

  另外,WLS 是一个命令行工具,所以上述功能也可以在命令行模式下使用,只需嵌入“wsl${distro_name}”命令即可,含义同上。

Windows 10新版改进:资源管理器可直接访问Linux文件

微软表示,为了实现 Windows 下对 Linux 文件的访问,特意在 WLS 初始化进程内加入了一个 9P 协议服务器,它包含支持 Linux 元数据的协议,包括权限,Windows 系统再通过特殊服务、驱动作为客户端,通过 AF-UNIX socket 与 9P 服务器通信。

  需要注意的几点:

  1、目前只有在 Linux 发行版正运行的情况下,Windows 10 才能访问其文件,未来将取消此限制。

  2、这种方式访问 Linux 文件,就像访问网络资源一样,规则是相同的,比如不能用 CMD 命令。

  3、其他 Linux 文件相关规矩依然有效,比如不要尝试访问 AppData 文件夹。