आप क्या जानना चाहते है
यहां कुछ बुनियादी विवरण दिए गए हैं जिन्हें आपको इस सुविधा के बारे में जानने की आवश्यकता है:
- उपभोक्ता खाता: बैश खोल से लॉन्च किए गए कार्यक्रम इस तरह चलेंगे जैसे कि वे वर्तमान विंडोज उपयोगकर्ता खाते द्वारा लॉन्च किए गए थे।
- अनुमतियां: इन कार्यक्रमों में Bash.exe प्रक्रिया के समान अनुमतियां होंगी। इसलिए, यदि आप इन आदेशों को व्यवस्थापक पहुंच प्राप्त करना चाहते हैं, तो आपको बैश खोल को व्यवस्थापक के रूप में चलाने की आवश्यकता होगी।
-
कार्यकारी डाइरेक्टरी: विंडोज प्रोग्राम बैश खोल के समान "काम करने वाली निर्देशिका" साझा करते हैं। इसलिए, यदि आप एक कमांड चलाते हैं जो वर्तमान निर्देशिका की सामग्री सूचीबद्ध करता है, तो यह बैश खोल में वर्तमान कार्यशील निर्देशिका की सामग्री सूचीबद्ध करेगा। उपयोग
cd
काम करने वाली निर्देशिकाओं को बदलने के लिए आदेश।
इसे ध्यान में रखते हुए, आइए देखें कि प्रोग्राम कैसे चलाया जाए।
विंडोज प्रोग्राम कैसे चलाएं
विंडोज प्रोग्राम चलाने के लिए, बैश खोल में प्रोग्राम की.exe फ़ाइल का पथ दर्ज करें। याद रखें कि आपका विंडोज सी: ड्राइव बैश में / mnt / c पर उपलब्ध है। बैश पर्यावरण भी केस-संवेदी है, इसलिए आपको सही पूंजीकरण निर्दिष्ट करना होगा।
मान लीजिए कि आप C: Windows System32 PING.EXE पर स्थित पिंग उपयोगिता लॉन्च करना चाहते हैं। आप निम्न आदेश चलाएंगे:
/mnt/c/Windows/System32/PING.EXE
निम्न आदेश काम नहीं करेगा, क्योंकि बैश केस-संवेदी है:
/mnt/c/windows/system32/ping.exe
उदाहरण के लिए, मान लें कि आप सी: प्रोग्राम फ़ाइलें (x86) Internet Explorer iexplore.exe पर स्थित इंटरनेट एक्सप्लोरर प्रोग्राम को चलाने के लिए चाहते थे। आपको बैश में निम्न आदेश चलाने की आवश्यकता होगी:
/mnt/c/Program Files (x86)/Internet Explorer/iexplore.exe
स्पेस और ब्रैकेट वर्णों से पहले "" पर ध्यान दें। ये वर्ण "बच निकले" या बैश को यह नहीं पता होगा कि वर्ण फ़ाइल पथ का हिस्सा हैं।
एक कमांड के लिए एक तर्क कैसे पास करें
बैश खोल आपके द्वारा निष्पादित आदेशों पर सीधे तर्क देता है।
उदाहरण के लिए, यदि आप example.com पिंग करना चाहते हैं, तो आप दौड़ेंगे:
/mnt/c/Windows/System32/PING.EXE example.com
या, यदि आप नोटपैड में विंडोज होस्ट फ़ाइल खोलना चाहते हैं, तो आप दौड़ेंगे:
/mnt/c/Windows/System32/notepad.exe 'C:WindowsSystem32driversetchosts'
विंडोज प्रोग्राम पर सीधे फ़ाइल पथ पास करते समय आप मानक विंडोज फ़ाइल पथ का उपयोग करते हैं। ऐसा इसलिए है क्योंकि बैश सीधे तर्क को पास करता है। Notepad.exe और अन्य विंडोज प्रोग्राम विंडोज फ़ाइल पथ की अपेक्षा करते हैं।
बिल्ट-इन कमांड कैसे चलाएं
कुछ विंडोज आदेश.exe फ़ाइलें नहीं हैं, लेकिन कमांड प्रॉम्प्ट में ही बनाए जाते हैं। उदाहरण के लिए, इसमें शामिल है
dir
आदेश आप आमतौर पर एक कमांड प्रॉम्प्ट में चला सकते हैं। ऐसा आदेश चलाने के लिए, आपको चलाने की आवश्यकता है
cmd.exe
कमांड प्रॉम्प्ट से जुड़ी द्विआधारी और इसे कमांड के रूप में कमांड के रूप में पास करें, जैसे:
/mnt/c/Windows/System32/cmd.exe /C command
उदाहरण के लिए, चलाने के लिए
dir
कमांड प्रॉम्प्ट में बनाया गया आदेश, आप निम्न आदेश चलाएंगे:
/mnt/c/Windows/System32/cmd.exe /C dir
पथ में निर्देशिका कैसे जोड़ें
लिनक्स पर्यावरण के लिए विंडोज सेवाएं विंडोज एक्जिक्यूटिव्स को लिनक्स बाइनरी के तरीके के समान तरीके से मानती हैं। इसका अर्थ यह है कि आप पथ में.exe फ़ाइलों वाली निर्देशिका जोड़ सकते हैं और फिर उन.exe फ़ाइलों को सीधे निष्पादित कर सकते हैं। उदाहरण के लिए, System32 निर्देशिका को अपने पथ में जोड़ने के लिए, आप चलाएंगे:
export PATH=$PATH:/mnt/c/Windows/System32
फिर आप System32 फ़ोल्डर में स्थित Windows.exe फ़ाइलों को सीधे चला सकते हैं, जैसे:
PING.exe example.com
notepad.exe
cmd.exe /C dir
एक कमान के आउटपुट को दूसरे को कैसे पाइप करें
विंडोज कमांड का आउटपुट लिनक्स कमांड पर पाइप किया जा सकता है, और इसके विपरीत। उदाहरण के लिए, आप इसका उपयोग कर सकते हैं
ipconfig.exe -all
अपने नेटवर्क इंटरफेस के बारे में विवरण सूचीबद्ध करने के लिए कमांड करें और इसे लिनक्स पर पाइप करें
grep
आउटपुट खोजने के लिए कमांड। उदाहरण के लिए, अपने कनेक्शन के बारे में सभी जानकारी सूचीबद्ध करने और "आईपीवी 4 पता" से मेल खाने वाले वर्गों की खोज करने के लिए, आप दौड़ेंगे:
/mnt/c/Windows/System32/ipconfig.exe -all | grep 'IPv4 Address'
और, यदि आप दूसरी तरफ जाना चाहते हैं, तो आप मानक विंडोज कमांड प्रॉम्प्ट से बैश कमांड चलाने के लिए "bash -c" कमांड का उपयोग कर सकते हैं।