在即将推出的Windows 2010年4月10日更新(又称Windows 10 19H1)中,这个Linux文件问题最终将得到解决。
根据致力于Windows子系统Linux(WSL)的微软编程经理Craig Loewen所说,“下一个Windows更新即将推出,我们正在为它带来令人兴奋的WSL更新!这些更新包括从Windows访问Linux文件系统,以及如何在命令行中管理和配置发行版的改进。“
通过此最新更新,您将能够“轻松访问Linux发行版中的所有文件”。它的工作原理是在Linux实例中运行 9P协议文件服务器。这是一种分布式文件网络协议。在WSL中,它使您能够使用Linux文件和文件系统,同时支持其元数据和权限。Windows文件程序充当服务器的客户端。它们使用AF_Unix套接字相互通信。Linux使用AF_Unix在进程之间进行通信。
如果技术细节让您眼睛睁着眼睛,请不要担心。从Windows访问Linux文件很容易。
例如,要使用文件资源管理器,请开始运行Linux,确保当前文件夹是Linux主目录,然后键入“资源管理器”。当它发布时,你已经准备好了。您还可以在Linux文件上使用大多数Windows文件命令。
直接从Windows,您可以通过访问\\ wsl $ \ {distro name} \找到您的发行版文件,其中{distro name}是正在运行的发行版的名称。
如果Linux未运行,您仍将无法访问WSL文件。这将在稍后的Windows 10版本中出现。我怀疑我们会在即将发布的版本中看到它。
还有其他问题你也应该警惕。首先,由于您使用网络协议访问本地Linux文件,因此适用于访问网络资源的所有常规规则,例如,CMD cd \\ wsl $ \ Ubuntu \ home命令将无效,因为CMD不会t支持UNC路径作为当前目录。您也无法安全地访问AppData文件夹中的Linux文件。如果您尝试这样做,那么您将绕过9P服务器,并且您确实存在损坏文件的危险。实际上,您可能会破坏您的Linux实例。
虽然文件改进是最大的改进,但还有其他重要的新命令行功能。这些包括能够以不同用户身份运行命令,终止运行分发,以及导出和导入不同的发行版。
使用最后一个,您将能够导出当前发行版的tar文件。有了这个,您可以与其他人共享您的发行版设置。然后,他们可以导入tar文件,以便他们可以运行自己的自定义发行版实例。
WSL一直很有用。通过这一最新版本,它将比以往更加轻松。