Tôi có thể thay đổi thư mục thành ổ đĩa Windows trong Ubuntu Bash trên WSL không?


13

Tôi là một siêu người mới cho Ubuntu và về cơ bản cần Ubuntu cho gói Python. Tôi muốn chạy một tệp Python nói e:/username/folder1/folder2/python.py. Tôi đã thử mọi phương pháp trực tuyến và trả lời duy nhất là bash: cd./e: No such file or directory. Tôi không chắc chắn đó là do các cửa sổ bash hoặc virtualenv.

Khi tôi sử dụng bash trên Ubuntu trên Windows ls, nó nói VIRTUALENV_DIR. cd, nó nói /home/username. Các cd ..vv thay đổi thư mục một chút, nhưng không một ổ, cũng không phải là thư mục Tôi muốn nó để tìm.

Câu trả lời:


22

WSL lưu trữ các ổ đĩa Windows của bạn trong /mntthư mục, với tên của ổ đĩa là thư mục con. Ví dụ, C:\ổ đĩa của bạn sẽ có mặt /mnt/c/để bạn sử dụng.

Hãy ghi nhớ điều này, bạn có thể trao đổi vào thư mục cụ thể của mình như vậy:

cd /mnt/e/username/folder1/folder2

1
Chắc chắn bạn muốn cdđến một tập tin? có vẻ như cd /mnt/e/username/folder1/folder2/có ý nghĩa hơn
dufte

@dufte Bắt tốt. Yay cho sao chép-dán!
Kaz Wolfe

đối với Ubuntu 16.04, nó nằm trong thư mục / media
solfish

3

Đúng, bạn có thể làm điều đó. Tôi đã sử dụng shift+ nhấp chuột phải để nhận "Mở Powershell tại đây" bất kỳ thư mục nào bạn muốn bash và chạy lệnh 'bash', sau đó chạy như thưởng thức thông thường. Điều này giống như sử dụng Ubuntu bash vì nó sử dụng các gói Python tương tự trong Windows Powershell sau khi sử dụng lệnh 'bash'.

Lưu ý: Trên windows 10 bản cập nhật mới nhất có thể là tháng 4 năm 2018 với chế độ WSL và nhà phát triển được bật.


1

Trong windows explorer, điều hướng đến e:/username/folder1/folder2/,

bashvà nhấn Entertrong thanh địa chỉ, một bashcửa sổ có đường dẫn e:/username/folder1/folder2/sẽ xuất hiện.

Điều này cũng làm việc với lệnh cmd.

Tài liệu tham khảo


0

Bạn có thể thử làm điều này: cd E:/username/folder1/folder2/ và sau đó chạy python python.py. Nó luôn hoạt động trong trường hợp của tôi trên máy Windows chạy bash.


0

với tập lệnh nhỏ này, bạn có thể thực thi mọi lệnh từ thư mục mà Powershell của bạn hiện đang ở. Nó chỉ hoạt động nếu ổ đĩa đã được gắn vào / mnt / trong hệ thống con. Nó không hoạt động với tài nguyên mạng.

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'"}

sau khi bạn đã thực hiện nó, bạn có thể sử dụng nó như thế này:

tux vim test.txt
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.