अनुशंसित, 2020

संपादक की पसंद

लिनक्स बैश शेल विंडोज 10 पर कैसे काम करता है

विंडोज 10 के लिए एनिवर्सरी अपडेट जारी होने के साथ, माइक्रोसॉफ्ट ने लिनक्स (डब्ल्यूएसएल) के लिए विंडोज सबसिस्टम की घोषणा की - विंडोज 10 पर वास्तविक, देशी बैश चलाने का एक तरीका, जो देशी लिनक्स बायनेरिज़ को निष्पादित करने का समर्थन करता है। यह विंडोज के शीर्ष पर एक उपयोगकर्ता-मोड उबंटू लिनक्स छवि चलाकर करता है।

इसका मतलब है कि आप लिनक्स कमांड लाइन टूल्स जैसे ls, grep, top और chmod । जब से आप वास्तविक उबंटू नीचे चला रहे हैं, lsb-release -a चलाने से आपको निम्न आउटपुट मिलेगा:

आप apt-get और दोस्तों का उपयोग vim, git, screen, tmux जैसी उपयोगिताओं को स्थापित करने के लिए कर सकते हैं, या यहां तक ​​कि nethack: खेल भी खेल सकते हैं nethack:

हालाँकि, ध्यान रखें कि यह प्रणाली बीटा में है और सर्वर वर्कलोड के लिए अभिप्रेत नहीं है । यह केवल डेवलपर्स (और उत्साही) के लिए एक उपकरण है जो संशोधनों के बिना विंडोज पर अपने लिनक्स-केंद्रित अनुप्रयोगों का परीक्षण करने के लिए है। यह लिनक्स GUI एप्लिकेशन या वातावरण जैसे कि Gnome या KDE को चलाने के लिए भी एक उपकरण नहीं है, हालांकि यह बहुत अधिक हैक के साथ भी संभव है। यह साफ़ करने के बाद, आइए विंडोज 10 में लिनक्स शेल कैसे काम करता है, इस पर एक नज़र डालते हैं।

लिनक्स के लिए विंडोज सबसिस्टम (WSL)

आधिकारिक दस्तावेज के अनुसार, "WSL उन घटकों का एक संग्रह है जो मूल लिनक्स ELF64 बायनेरिज़ को विंडोज पर चलने में सक्षम बनाता है"। यह Windows NT कर्नेल के शीर्ष पर एक वर्चुअलाइज्ड लिनक्स कर्नेल इंटरफ़ेस लागू करके करता है। यही है, यह वास्तविक लिनक्स कर्नेल से किसी भी कोड का उपयोग नहीं करता है - जब भी कोई एप्लिकेशन लिनक्स-विशिष्ट सिस्टम कॉल (syscall) करता है, तो WSL इसे बराबर विंडोज syscall में अनुवाद करता है, जो तब सभी भारी उठाने करता है।

आभासी मशीनों और Cygwin से अंतर

अब आइए नजर डालते हैं कि विंडोज 10 पर लिनक्स बैश शैल वर्चुअल मशीनों और साइगविन की पसंद की तुलना में कैसे भिन्न है।

आभाषी दुनिया

आप सोच रहे होंगे, “ठीक है, इसका उपयोग क्यों करते हैं? विंडोज में लिनक्स वीएम का उपयोग क्यों न करें? "

एक वर्चुअल मशीन की तुलना में, WSL कम संसाधनों का उपयोग करता है । यह आपको अपनी फ़ाइलों के साथ काम करने देता है जैसा कि आप लिनक्स पर हैं, जबकि आप साझा किए गए फ़ोल्डर्स या नेटवर्क शेयरों पर भरोसा किए बिना अंतर्निहित विंडोज फाइल सिस्टम तक पूरी पहुंच प्रदान करते हैं।

Cygwin

विंडोज पर लोकप्रिय लिनक्स / यूनिक्स जैसे उपकरण चलाने का एक अन्य लोकप्रिय तरीका साइगविन है। दो दृष्टिकोणों के बीच सबसे बड़ा अंतर यह है कि Cygwin विंडोज पर देशी लिनक्स बायनेरी चलाने का एक तरीका नहीं है । यह केवल GNU और ओपन सोर्स टूल का एक सेट प्रदान करता है जो विंडोज पर लिनक्स वितरण के समान कार्यक्षमता प्रदान करता है।

दूसरी ओर, WSL उपकरण मूल लिनक्स ELF-64 संकलित बायनेरिज़ विंडोज पर चल रहे हैं। उदाहरण के लिए, WSL में apt-get install emacs कमांड चलाने से आधिकारिक उबंटू रिपॉजिटरी से उबंटू 14.04 इंस्टॉलेशन की तरह ही फाइलें डाउनलोड और इंस्टॉल हो जाएंगी।

WSL में उपयोगकर्ता, अनुमतियाँ और फ़ाइल सिस्टम

फ़ाइल सिस्टम पदानुक्रम

WSL वर्तमान उपयोगकर्ता के %LocalAppData%\lxss\rootfs निर्देशिका के अंतर्गत स्थापित किया गया है। यह डब्ल्यूएसएल पर्यावरण के रूप में जाना जाता है और लिनक्स " / " (रूट) निर्देशिका के रूप में कार्य करता है। उदाहरण के लिए, यदि Windows पर आपका उपयोगकर्ता नाम beebom, तो Linux की मूल निर्देशिका C:\Users\beebom\AppData\Local\lxss\rootfs. इसका अर्थ है कि प्रत्येक विंडोज़ उपयोगकर्ता का अपना WSL ​​वातावरण हो सकता है, और अपने विंडोज उपयोगकर्ताओं को प्रभावित किए बिना apt-get install सॉफ्टवेयर पैकेज जैसे परिवर्तन कर सकता है।

डब्लूएसएल में अंतर्निहित विंडोज फाइल सिस्टम तक पहुंच संभव है। सभी ड्राइव /mnt. तहत घुड़सवार हैं /mnt. उदाहरण के लिए, C:\ को /mnt/c, D:\ नीचे माउंट किया गया है /mnt/d, आदि के तहत रखा गया है।

उपयोगकर्ता और अनुमतियाँ

जब आप पहली बार WSL स्थापित करते हैं, तो यह आपको एक नया डिफ़ॉल्ट लिनक्स उपयोगकर्ता बनाने के लिए प्रेरित करेगा। इस उपयोगकर्ता को वर्तमान विंडोज उपयोगकर्ता के समान नाम की आवश्यकता नहीं है, और इसे सामान्य रूप से एक अलग इकाई के रूप में माना जाता है। आप एक सिंगल विंडोज यूजर द्वारा नियंत्रित कई लिनक्स उपयोगकर्ता भी बना सकते हैं।

sudo कमांड का उपयोग करके root विशेषाधिकार प्राप्त करना संभव है। ध्यान रखें कि डब्लूएसएल में root केवल लिनक्स पर्यावरण और फाइल सिस्टम के भीतर उपयोगकर्ता के अधिकारों को प्रभावित करता है - उन्हें विंडोज के विशेषाधिकारों पर कोई प्रभाव नहीं पड़ता है। उदाहरण के लिए, Windows व्यवस्थापक विशेषाधिकारों के साथ एक WSL सत्र cd /mnt/c/Users/Administrator जबकि व्यवस्थापक विशेषाधिकारों के बिना एक बैश सत्र अनुमति अस्वीकृत दिखाई देगा। Windows के लिए अनुमतियाँ प्रतिबंधित होने के बाद से sudo cd /mnt/c/Users/Administrator प्रशासक की निर्देशिका तक पहुँच प्रदान नहीं करेगा।

लिनक्स-विशिष्ट फ़ाइल सिस्टम सुविधाएँ

लिनक्स एक केस-संवेदी प्रणाली है। इसका मतलब है कि photo.png और Photo.png को दो अलग-अलग फ़ाइलों के रूप में माना जाता है। जबकि विंडोज डिफ़ॉल्ट रूप से संवेदनशील नहीं है, यह अभी भी जागरूक है । जिसका अर्थ है कि जबकि photo.png और Photo.png को दो अलग-अलग फ़ाइलों के रूप में नहीं माना जाता है, यह निश्चित रूप से मामले में अंतर के बारे में पता है।

WSL लिनक्स की तरह ही केस-सेंसिटिविटी को हैंडल करता है। दो फ़ाइलों को बनाना संभव है, जिनका नाम केवल WSL वातावरण के बाहर के मामले से भिन्न होता है। हालांकि, ध्यान रखें कि कई विंडोज एप्लिकेशन ऐसी स्थितियों को संभाल नहीं सकते हैं और एक या दोनों फाइलों को खोलने में सक्षम नहीं हो सकते हैं।

इसी तरह, प्रतीकात्मक लिंक समर्थित हैं, बशर्ते आप एक NTFS फाइल सिस्टम चला रहे हों। हालांकि, प्रतीकात्मक लिंक केवल डब्ल्यूएसएल के अंदर ही काम करेंगे और अन्य विंडोज अनुप्रयोगों द्वारा हल नहीं किए जा सकते हैं।

लिनक्स फ़ाइल नामों के अंदर लगभग सभी विशेष वर्णों का समर्थन करता है, जबकि विंडोज अधिक प्रतिबंधात्मक है। डब्ल्यूएसएल, हालांकि, ऐसे विशेष वर्णों का उपयोग करने की अनुमति देता है, बशर्ते कि वे लिनक्स सिस्टम के वातावरण तक सीमित हों।

विंडोज पर लिनक्स कमांड लाइन चलाने के लिए तैयार हैं?

तो, यह है कि उबंटू बैश या लिनक्स बैश शेल, जिसे लिनक्स के लिए विंडोज सबसिस्टम के रूप में भी जाना जाता है, विंडोज 10 (एनिवर्सरी अपडेट के साथ) पर काम करता है। इसके काम करने के साथ, हमने यह भी सीखा कि विंडोज पर लिनक्स-विशिष्ट कमांड चलाने के पारंपरिक तरीकों की तुलना में यह कैसे अलग और बेहतर है। इसलिए, यदि आप हमेशा लिनक्स कमांड का उपयोग करना चाहते हैं, तो आरंभ करें और यदि आपके कोई प्रश्न, टिप्पणी या युक्तियां हैं, तो हमें टिप्पणी अनुभाग में बताना सुनिश्चित करें।

Top