क्या मैं WSL पर उबंटू बैश में विंडोज ड्राइव में डायरेक्टरी बदल सकता हूं?


14

मैं उबंटू के लिए एक सुपर नौसिखिया हूं और मूल रूप से पाइथन पैकेज के लिए उबंटू की जरूरत है। मैं कहना चाहता हूँ कि पायथन फ़ाइल को चलाना होगा e:/username/folder1/folder2/python.py। मैंने हर तरीके को ऑनलाइन आज़माया और एकमात्र उत्तर है bash: cd./e: No such file or directory। मुझे यकीन नहीं है कि यह बैश खिड़कियों या virtualenv की वजह से है।

जब मैं विंडोज पर उबंटू पर बैश का उपयोग करता हूं ls, तो यह कहता है VIRTUALENV_DIRcd, यह कहता है /home/usernamecd ..आदि निर्देशिका एक छोटे से नहीं, बल्कि एक और ड्राइव बदल जाता है, और न ही फ़ोल्डर मैं इसे खोजने के लिए चाहते हैं।

जवाबों:


22

डब्लूएसएल आपके विंडोज ड्राइव को /mntफ़ोल्डर में स्टोर करता है, ड्राइव के नाम के साथ सबफ़ोल्डर के रूप में। उदाहरण के लिए आपकी C:\ड्राइव आपके /mnt/c/उपयोग के लिए मौजूद होगी ।

इसे ध्यान में रखते हुए, आप अपने विशिष्ट फ़ोल्डर को स्वैप कर सकते हैं जैसे:

cd /mnt/e/username/folder1/folder2

1
सुनिश्चित करें कि आप cdएक फ़ाइल चाहते हैं? ऐसा लगता है cd /mnt/e/username/folder1/folder2/कि अधिक समझ में आता है
dufte

@dufte अच्छा कैच। कॉपी-पेस्ट के लिए याय!
काज वोल्फ

ubuntu 16.04 के लिए, यह
सोलफिश

3

हां, आप यह कर सकते हैं। मैंने shift"Open Powershell here" को प्राप्त करने के लिए + राइट क्लिक का उपयोग किया था, जो भी निर्देशिका आपको 'बैश' कमांड को चलाने और चलाने के लिए चाहिए, फिर सामान्य आनंद के रूप में चलाएं। यह उबंटू बैश का उपयोग करने के समान है क्योंकि यह 'पॉश' कमांड का उपयोग करने के बाद विंडोज पॉवर्सशेल में समान पायथन पैकेज का उपयोग करता है।

नोट: विंडोज़ 10 पर नवीनतम अपडेट शायद अप्रैल 2018 में WSL और डेवलपर्स मोड के साथ सक्षम हो।


2

विंडोज़ एक्सप्लोरर में, पर नेविगेट करें e:/username/folder1/folder2/,

पता बार में टाइप करें bashऔर दबाएं Enter, bashपथ वाली विंडो e:/username/folder1/folder2/दिखाई देगी।

यह भी कमांड के साथ काम करता है cmd

संदर्भ


0

आप ऐसा करने की कोशिश कर सकते हैं: cd E:/username/folder1/folder2/ और फिर दौड़ें python python.py। यह हमेशा मेरे मामले में विंडोज मशीन रनिंग बैश पर काम करता है।


0

इस छोटी लिपि के साथ आप उस निर्देशिका से हर कमांड को निष्पादित कर सकते हैं जो वर्तमान में आपके पॉवर्सशेल में है। यह केवल तभी काम करता है जब ड्राइव सब-सिस्टम में / 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 Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.