Я могу изменить каталог на диск Windows в Bash Ubuntu на WSL?

Я - супер новичок для Ubuntu и в основном нуждаюсь в Ubuntu для пакета Python. Я хотел бы работать, файл Python в говорят e:/username/folder1/folder2/python.py. Я попробовал каждый метод онлайн, и единственный ответ bash: cd./e: No such file or directory. Я не уверен, является ли это из-за окон удара или virtualenv.

Когда я использую удар на Ubuntu в Windows, ls, это говорит VIRTUALENV_DIR. cd, это говорит /home/username. cd .. и т.д. изменяет каталог немного, но не другой диск, ни папку, которую я хотел бы, чтобы он нашел.

26
задан 5 August 2017 в 09:41

6 ответов

WSL хранит ваши диски Windows в папке / mnt с именем диска в качестве подпапки. Например, ваш диск C: \ будет находиться в / mnt / c / , чтобы вы могли его использовать.

Помня об этом, вы можете переключиться на свою конкретную папку, например :

cd /mnt/e/username/folder1/folder2
36
ответ дан 23 November 2019 в 04:22

В проводнике Windows перейдите к e: / username / folder1 / folder2 / ,

введите bash и нажмите Enter в адресной строке появится окно bash с путем в e: / username / folder1 / folder2 / .

Это также работает с командой cmd .

Ссылка

6
ответ дан 23 November 2019 в 04:22

с помощью этого небольшого скрипта вы можете выполнять любую команду из каталога, в котором сейчас находится ваша 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
0
ответ дан 23 November 2019 в 04:22

Да, вы можете это сделать. Я использовал shift + щелкните правой кнопкой мыши, чтобы получить «Открыть Powershell здесь», в зависимости от того, какой каталог вы хотите использовать, и запустите команду bash, а затем запустите как обычно, наслаждайтесь. Это то же самое, что при использовании Ubuntu bash, поскольку он использует те же пакеты Python в Windows Powershell после использования команды bash.

Примечание: В Windows 10 последнее обновление может быть апрель 2018 года с включенным WSL и режимом разработчиков.

4
ответ дан 23 November 2019 в 04:22

Вы можете попробовать следующее: cd E: / username / folder1 / folder2 / а затем запустить python python.py . В моем случае это всегда работает на машине Windows, на которой запущен bash.

0
ответ дан 23 November 2019 в 04:22

Утилита под названием wslpath , которая поставляется как с WSL, так и с WSL2, может преобразовывать пути Windows в пути WSL (или переводить пути WSL в пути Windows). Например, команда wslpath 'E: \ username \ folder1 \ folder2' дает вам путь в WSL / mnt / e / username / folder1 / folder2 .

Используя утилиту wslpath , я определяю следующую функцию в моем ~ / .bashrc для быстрого cd путей Windows.

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

С помощью этой пользовательской функции я легко могу с cd на E: \ username \ folder1 \ folder2 , просто набрав

cdw 'E: \ username \ folder1 \ folder2 '

Не забудьте заключить путь Windows в одинарные кавычки, если он содержит обратную косую черту.

2
ответ дан 27 April 2021 в 00:22

Другие вопросы по тегам:

Похожие вопросы: