Linux 子系统:使用 Windows 文件路径更改目录

Linux 子系统:使用 Windows 文件路径更改目录

如果我想将 Linux 子系统的目录更改为我在 Windows 资源管理器中打开的目录,那么我必须替换\、删除:并在前面添加/mnt/

我发现该命令wslpath -a 'C:\Windows'可以做到这一点,但我仍然需要复制粘贴结果来更改目录。所以我试过了,wslpath -a 'C:\Windows' | cd但没有成功。

编辑:如果能将其作为别名使用就好了,例如cdwin C:\Windows

答案1

这是可以做到的。您可以使用 shell 函数(例如,在您的 中~/.bashrc)来调用wslpathcd

cdwin () {
    cd "$(wslpath -a "$1")"
}

不过,话虽如此,您还是需要在 Windows 路径周围加上引号。shell 会将反斜杠特殊解释为转义字符,如果您省略引号,则反斜杠可能会被删除。没有办法避免这种情况,因为这是所有 Unix shell 的工作方式。

答案2

抱歉,我无法发表评论,因为我的声誉不高

安眠药@bkk2204 的答案确实是个好主意。

但对于您的代码,您实际上已经非常接近了!

所以我尝试了wslpath -a 'C:\Windows' | cd,但没有成功

尝试一下

cd `wslpath -a 'C:\Windows'`

你甚至可以做环境变量

cd `wslpath -u $(wslvar windir)`

或者

cd $(wslpath -u `wslvar windir`)

或者

cd $(wslpath -u $(wslvar windir))

但是要执行 wslvar 你需要安装西弗吉尼亚大学(已在 ubuntu 中预安装)。

Windir 是环境变量的一部分。

打印环境变量列表

powershell.exe "Get-ChildItem Env:"

相关内容