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

Ste*_*ing 26 command-line bash directory windows-subsystem-for-linux

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

当我在 Windows 上的 Ubuntu 上使用 bash 时ls,它说VIRTUALENV_DIR. cd,它说/home/username。在cd ..等改变目录一点点,而不是另一个驱动器,也不是文件夹,我想它找到。

Kaz*_*lfe 42

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

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

cd /mnt/e/username/folder1/folder2
Run Code Online (Sandbox Code Playgroud)

  • 确定要“cd”到文件吗?看起来像 `cd /mnt/e/username/folder1/folder2/` 更有意义 (2认同)

sin*_*tan 12

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

通过使用该实用程序,我在快速访问 Windows 路径wslpath中定义了以下函数。~/.bashrccd

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.

  • 哇。通常当我看到一个这么老的问题已经有 5 个答案,而新用户给出了一个答案时,这是非常糟糕的。但这次不是!太棒了,提供了一个答案,它实际上贡献了其他人未涵盖的有用内容! (3认同)

Ani*_*eta 7

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

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

这也适用于 command cmd

参考


小智 5

是的,你可以这么做。我使用shift+ 右键单击​​来获取“在此处打开 Powershell”,无论你想要 bash 的哪个目录并运行“bash”命令,然后照常运行即可享受。这与使用 Ubuntu bash 相同,因为它在使用“bash”命令后在 Windows Powershell 中使用相同的 Python 包。

注意:在 Windows 10 最新更新中,可能是 2018 年 4 月,启用了 WSL 和开发人员模式。