Чи можна змінити каталог на привід Windows в Ubuntu Bash на WSL?


13

Я супер новачок для Ubuntu і в основному потребую Ubuntu для пакету Python. Я хотів би запустити файл Python in say e:/username/folder1/folder2/python.py. Я перепробував кожен метод в Інтернеті, і єдина відповідь bash: cd./e: No such file or directory. Я не впевнений, це тому, що це стукало вікон чи віртуаленв.

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

Відповіді:


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", а потім запустіть, як завжди, насолоджуйтесь. Це те саме, що використовувати bashu Ubuntu, оскільки він використовує ті ж пакети Python у Windows Powershell після використання команди 'bash'.

Примітка. Останнє оновлення для Windows 10, можливо, квітень 2018 року з увімкненим режимом WSL та розробниками.


1

У Windows Explorer перейдіть до e:/username/folder1/folder2/,

введіть bashі натисніть Enterв адресному рядку, з'явиться bashвікно з маршрутом в e:/username/folder1/folder2/.

Це також працює з командою cmd.

Довідково


0

Ви можете спробувати зробити це: cd E:/username/folder1/folder2/ а потім запустити python python.py. Це завжди працює в моєму випадку на Windows-машині, що працює з bash.


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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.