windows中的appdata_Windows 10版本1903中的WSL有什么新特性?

e5eb35a27596e7cacce00c425ed39db1.png

下一次Windows更新将很快到来,我们将给WSL带来激动人心的更新!包括在Windows中访问Linux文件系统,以及改进在命令行中管理和配置发行版的方式。

在Windows中访问Linux文件

过去,在Windows中创建和更改Linux文件会导致文件丢失或数据损坏。这是一项被高度要求和期待已久的功能。我们自豪地宣布,您现在可以在Windows中轻松访问Linux发行版中的所有文件。

在文件资源管理器中打开Linux文件

开始使用此功能的最佳方式是在文件资源管理器中打开Linux文件!为此,请打开您最喜欢的发行版,确保您当前的文件夹是您的Linux主目录,然后键入:

explorer.exe

这将打开一个文件资源管理器窗口,位于Linux发行版内部。

c7928392f082d8b661a1ec4e7b059423.png

从这里,你可以访问你想要的任何Linux文件,就像通过文件浏览器访问任何其他文件一样。这包括一些操作,例如:将文件拖动到其他位置,复制和粘贴,甚至是有趣的场景,比如使用上下文菜单在WSL目录中打开VSCode!

27987a0f8c10b21ca78c919504d5478e.png

即将到来文件资源管理器体验的改进

使用此功能时,您会注意到发行版文件通过以下路径展示: \wsl$。这是Windows访问每个发行版内部文件的方式(您可以在下一节了解详细信息!)WSL团队正在积极研究如何在文件资源管理器中提高Linux文件的可发现性。

在命令行中

WSL主要是一个命令行工具,因此当然,这个特性也适用于命令行。您可以通过访问\wsl${distro name}来找到发行版的文件,其中{distribo name}是正在运行的发行版的名称。以下是使用PowerShell访问Debian的情况。

95d6ed496b40cdd0bb4e721c6ead05d1.png

它是如何工作的

简而言之: 9P协议文件服务器处理文件相关请求,Windows充当客户端。
我们已经修改了WSL初始化守护程序,以包含9P服务器。此服务器包含支持Linux元数据的协议,包括权限。有一个Windows服务和驱动程序充当客户端,与9P服务器(运行在WSL实例内部)对话。客户端和服务器通过AF_UNIX套接字进行通信,因为WSL允许使用AF_UNIX在Windows应用程序和Linux应用程序之间进行互操作,如本文所述。

已知问题

这是一个新特性,它的某些部分可能无法完美工作。在使用此功能时,我们想让您了解一些已知问题:

  • 目前,发行版文件只能在发行版运行时从Windows访问(我们的目标是在将来的更新中增加对非运行发行版的支持)

    由于9P文件服务器在每个发行版内部运行,因此只有在该发行版运行时才能访问。该团队正在寻找帮助解决这一问题的方法。

  • 访问Linux文件被视为与访问网络资源相同,任何访问网络资源的规则仍然适用
    例如:当使用CMD时,cd \wsl$Ubuntuhome将不起作用(因为CMD不支持UNC路径作为当前目录),但是copy \wsl$Ubuntuhomesomefile.txt C:dev将起作用

  • 旧规则仍然适用,你不应该在AppData文件夹中访问你的Linux文件!
    如果你试图通过AppData文件夹访问你的Linux文件,你会绕过使用9P服务器,这意味着你将无法访问你的Linux文件,并且你可能会破坏你的Linux发行版。

提交反馈

我们的团队在听取您的反馈方面投入了巨大的精力,事实上,这整个功能是基于我们伟大的社区反馈而创建的!请将你发现的任何问题提交在Github页面:https://github.com/Microsoft/WSL,我们将尽最大努力解决这些问题。
感谢社区帮助WSL成为一个了不起的工具!

改善wsl.exe命令行体验

通过将命令整合到wsl.exe并添加更多的命令行功能,我们还在最新的更新中改进了命令行体验。现在,您可以使用wsl.exe来执行配置和控制机器上的WSL所需的所有必要命令。你总是可以通过运行wsl.exe --help来检查你可以从wsl.exe运行的所有命令。

新命令

我们还添加了一些新命令,这些命令将在使用wsl.exe时为您提供更多功能。

现在,您可以以不同的用户运行命令,终止正在运行的发行版,甚至可以导出和导入不同的发行版!导出发行版是通过传入--export作为参数来实现的,并将输出当前发行版的tar文件。例如,您可以使用此功能与他人共享您的发行版设置。此外,如果你传入--import作为参数,你可以导入一个tar文件,其中包含Linux发行版的根文件系统,这允许你导入你想要的任何发行版,以及你想要的任何配置。
这是我们添加到wsl.exe的命令的完整列表。

新添加的命令
  • --user, -u
    以指定用户的身份运行

  • --export
    将发行版导出到tar文件。
    文件名可以是–用于标准输

  • --import
    将指定的tar文件作为新发行版导入。
    文件名可以是–用于标准输入

  • --terminate, -t
    终止发行版

合并命令

wslconfig.exe内部存在的命令已经添加到wsl.exe,让你可以更容易地配置发行版。我们的目标是将您与WSL的交互方式整合为一个二进制文件。

从wslconfig.exe添加到wsl.exe的命令
  • --list , -l

    列出计算机上可用的所有发行版

    还可以包含其他选项:

      • --all
        列出所有发行版,包括当前正在安装或卸载的发行版

      • –running
        仅列出当前正在运行的发行版

  • --setdefault, -s
    将发行版设置为默认值

  • --unregister
    注销发行版

  • --upgrade
    将发行版升级为WslFs文件系统格式

控制台改进

Windows控制台团队还做了一些改进,您会在使用WSL时注意到这些改进。控制台团队将很快发布Windows 10版本1903中的新特性的文章。保持关注!

英文原文:https://blogs.msdn.microsoft.com/commandline/2019/02/15/whats-new-for-wsl-in-windows-10-version-1903/ 译者:困顿少年 宁子谦

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值