ฉันสามารถเปลี่ยนไดเรกทอรีเป็นไดรฟ์ Windows ใน Ubuntu Bash บน WSL ได้หรือไม่


13

ฉันเป็นมือใหม่สำหรับ Ubuntu และโดยทั่วไปแล้วต้องใช้ Ubuntu สำหรับแพ็คเกจ Python e:/username/folder1/folder2/python.pyผมอยากจะเรียกใช้ไฟล์หลามในการพูด bash: cd./e: No such file or directoryฉันพยายามทุกวิธีทางออนไลน์และการตอบกลับเพียงอย่างเดียวคือ ฉันไม่แน่ใจว่าเป็นเพราะ bash windows หรือ virtualenv

เมื่อฉันใช้ทุบตีบน Ubuntu บน Windows, มันบอกว่าls มันบอกว่า ฯลฯ เปลี่ยนแปลง directory เล็ก ๆ น้อย ๆ แต่ไม่ได้ไดรฟ์อื่นหรือโฟลเดอร์ฉันต้องการมันเพื่อหาVIRTUALENV_DIRcd/home/usernamecd ..

คำตอบ:


22

WSL จัดเก็บไดรฟ์ Windows ของคุณใน/mntโฟลเดอร์ที่มีชื่อของไดรฟ์เป็นโฟลเดอร์ย่อย ตัวอย่างเช่นC:\ไดรฟ์ของคุณจะปรากฏที่/mnt/c/ให้คุณใช้

เมื่อคำนึงถึงเรื่องนี้คุณสามารถสลับไปยังโฟลเดอร์เฉพาะของคุณได้เช่น:

cd /mnt/e/username/folder1/folder2

1
แน่ใจหรือไม่ว่าคุณต้องการcdไฟล์ ดูเหมือนว่าcd /mnt/e/username/folder1/folder2/เหมาะสมมากกว่า
59

@dufte จับที่ดี Yay สำหรับการคัดลอกวาง!
Kaz Wolfe

สำหรับอูบุนตู 16.04 มันเป็นภายในของสื่อ / โฟลเดอร์
solfish

3

ใช่คุณสามารถทำได้ ฉันใช้shift+ คลิกขวาเพื่อรับ "เปิด Powershell ที่นี่" ไม่ว่าจะเป็นไดเรกทอรีใดที่คุณต้องการทุบตีและเรียกใช้คำสั่ง 'ทุบตี' จากนั้นเรียกใช้ตามปกติ สิ่งนี้เหมือนกับการใช้ Ubuntu bash เหมือนกับที่ใช้แพ็คเกจ 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 ที่ใช้ทุบตี


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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.