我可以在 WSL 上的 Ubuntu Bash 中将目录更改为 Windows 驱动器吗?

我可以在 WSL 上的 Ubuntu Bash 中将目录更改为 Windows 驱动器吗?

我是 Ubuntu 的超级新手,基本上需要 Ubuntu 来安装 Python 包。我想在 中运行 Python 文件e:/username/folder1/folder2/python.py。我尝试了网上的每种方法,唯一的答复是bash: cd./e: No such file or directory。我不确定这是因为 bash windows 还是 virtualenv。

当我在 Windows 上的 Ubuntu 上使用 bash 时,ls它显示VIRTUALENV_DIRcd,它显示/home/username。etccd ..稍微改变了目录,但没有改变另一个驱动器,也没有改变我希望它找到的文件夹。

答案1

WSL 将您的 Windows 驱动器存储在/mnt文件夹中,并将驱动器名称作为子文件夹。例如,您的C:\驱动器将出现在/mnt/c/供您使用。

记住这一点,您可以像这样切换到您的特定文件夹:

cd /mnt/e/username/folder1/folder2

答案2

在 Windows 资源管理器中,导航e:/username/folder1/folder2/

在地址栏中输入bash并按下,将出现一个带有路径的窗口。Enterbashe:/username/folder1/folder2/

这也适用于命令cmd

参考

答案3

WSL 和 WSL2 附带的名为 的实用程序wslpath可以将 Windows 路径转换为 ​​WSL 路径(或将 WSL 路径转换为 ​​Windows 路径)。例如,该命令wslpath 'E:\username\folder1\folder2'为您提供 WSL 中的路径/mnt/e/username/folder1/folder2

通过使用该wslpath实用程序,我在我的应用程序中定义了以下函数~/.bashrc以快速cd找到 Windows 路径。

cdw() { local d=`wslpath "$1"`; cd "$d"; }

使用此用户定义函数,我只需键入即可轻松cd完成E:\username\folder1\folder2

cdw 'E:\username\folder1\folder2'

如果 Windows 路径包含反斜杠,请记住用单引号将其括起来。


更新日志:2022 年 6 月 11 日 - 改进该cdw功能,使其适用于包含空格的路径,例如C:\Program Files

答案4

您可以尝试执行以下操作: cd E:/username/folder1/folder2/ 然后运行 python python.py。在我运行 bash 的 Windows 机器上,它始终有效。

相关内容