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


13

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

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

Answers:


22

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

请记住,您可以像这样交换到您的特定文件夹:

cd /mnt/e/username/folder1/folder2

1
确定要cd归档吗?看起来cd /mnt/e/username/folder1/folder2/更有意义
dufte

@dufte好收获。可以复制粘贴!
卡兹·沃尔夫

对于Ubuntu 16.04,它位于/ media文件夹中
solfish

3

是的,你可以这样做。我使用shift+右键单击以获取“在此处打开Powershell”到您要bash的任何目录并运行'bash'命令,然后像往常一样运行。这与使用Ubuntu bash相同,因为在使用“ bash”命令后,它在Windows Powershell中使用了相同的Python软件包。

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


1

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

键入bash并按Enter地址栏中的,将显示一个bash包含路径的窗口e:/username/folder1/folder2/

这也可以与command一起使用cmd

参考


0

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


0

使用这个小脚本,您可以从Powershell当前所在的目录中执行每个命令。仅当驱动器已安装到子系统中的/ mnt /时,该命令才起作用。它不适用于网络资源。

function tux {$dl = (pwd).Path | wsl eval "cut -c 1 | tr 'A-Z' 'a-z'"; $wd = (pwd).Path | wsl eval "cut -d : -f 2 | tr '\\' '/' 2> /dev/null" ; wsl eval "cd '/mnt/$dl$wd' && eval '$args'"}

执行它之后,可以像这样使用它:

tux vim test.txt
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.