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

How to translate the wslpath /home/user/ to windows path

我使用windows10的Linux子系统(windows10版本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

为什么? 如何将 /home/user 转换为 windows 路径?

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

我希望一些命令行可以给我 return 那个字符串。

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

在 Windows 10 1809 中,我们(最终)发布了文件系统集成,允许您通过 \wsl$ UNC 路径从 Windows 访问 WSL 发行版中的文件:

If you're interested in the details behind how this works, please visit this blog post: https://devblogs.microsoft.com/commandline/a-deep-dive-into-how-wsl-allows-windows-to-access-linux-files/

这现在允许 wslpath 为您的发行版文件系统中的文件提供 Windows 可访问路径:

在即将推出的 Windows 2020 年 5 月 10 日更新 (2004) 中,您不必记住有点晦涩的 \wsl$\ UNC 路径 - 相反,您只需单击 Tux文件资源管理器中的(Linux 企鹅)图标:

WSL1 用户警告:

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

请阅读此post: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 性能。

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

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

(是的,答案在问题中,但有些人,像我一样,会在不阅读问题的情况下直接跳到答案。)OP 报告的问题在 WSL2 中不存在。