代码之家  ›  专栏  ›  技术社区  ›  user504909

如何将wslpath/home/user/转换为windows路径

  •  0
  • user504909  · 技术社区  · 7 年前

    我使用windows 10的Linux子系统(windows 10版本1803)

    我可以使用命令行:

    user@laptop:~$ wslpath -w /c/
    C:\
    

    但是当我尝试使用

    user@laptop:~$ wslpath -w ~
    wslpath: /home/user: Result not representable
    

    即使我使用:

    user@laptop:~$ wslpath -w /home/user
    wslpath: /home/user: Result not representable
    

    为什么? 如何将/主页/用户转换为windows路径?

    windows中的主文件夹路径为 C:\Users\winuser\AppData\Local\lxss\home

    我希望某个命令行可以返回该字符串。

    1 回复  |  直到 7 年前
        1
  •  21
  •   Rich Turner    6 年前

    更新的Windows 10 1809或更高版本用户指南:

    在Windows 10 1809中,我们(最终)提供了文件系统集成,允许您通过 \\wsl$ UNC路径:

    enter image description here

    如果您对其工作原理背后的细节感兴趣,请访问以下博客: https://devblogs.microsoft.com/commandline/a-deep-dive-into-how-wsl-allows-windows-to-access-linux-files/

    这现在允许 wslpath 要为发行版文件系统中的文件提供Windows可访问的路径,请执行以下操作:

    enter image description here

    在即将发布的Windows 2020年5月10日更新(2004)中,您不必记住有些模糊的 \\wsl$\ UNC路径-您只需单击文件浏览器中的Tux(Linux penguin)图标:

    enter image description here

    WSL1用户警告:

    不要试图潜到 %localappdata%\lxss\... 包含来自Windows的WSL1 Linux文件的文件夹-有龙!

    请阅读以下帖子: https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/

    虽然随着时间的推移,该指南将变得不那么重要:特别是,WSL2没有使用 %localappdata%\lxss -相反,它将linux文件存储在EXT4格式的VHDX文件中,为发行版的本地文件系统提供接近本机IO性能。

        2
  •  8
  •   Samuel    5 年前

    要将WSL Linux路径转换为Windows路径,请使用 wlspath -w 。例如:

    $ wslpath -w /mnt/c/Users
    C:\Users
    $ wslpath -w /usr/bin
    \\wsl$\Debian\usr\bin
    

    (是的,答案就在问题中,但像我这样的一些人会不看问题就直接跳到答案。)OP报告的问题在WSL2中不存在。