Windows और Ubuntu में समान शेल कमांड क्यों हैं?


14

उबंटू में एक बैश है (बॉर्न अगेन शॉल) जबकि विंडोज में यह मालिकाना शेल है। मेरे शोध के अनुसार विंडोज / उबंटू में शेल स्क्रिप्टिंग के लिए इस्तेमाल की जाने वाली भाषा का कोई नाम नहीं है। इसे सिर्फ शेल स्क्रिप्टिंग कहा जाता है।

क्यों Windows और Ubuntu गोले इस तरह के रूप में एक ही आदेशों समझते हैं: ls, mkdir, rmdir, mountऔर इतने पर?

क्या शेल स्क्रिप्टिंग के लिए कुछ प्रकार की भाषाएं हैं? यदि हां, तो कृपया मुझे और जानकारी दें।


9
En.wikipedia.org/wiki/List_of_Unix_commands देखें - जब ये कमांड्स पहली बार दिखाई दें, तब देखें और जब विंडोज और GNU पहली बार दिखाई दें। ये आदेश बैश का हिस्सा नहीं हैं - वे बाहरी उपयोगिताओं हैं, इसलिए जो शेल का उपयोग किया जाता है वह अप्रासंगिक है।
मूरू

10
और मुझे पूरा यकीन lsहै कि पावर्सहेल द्वारा समर्थित है, नहीं cmd.exe। और ऐसा इसलिए है क्योंकि Powershell के रचनाकारों ने सामान्य यूनिक्स कमांड के लिए उपनाम जोड़ने के लिए कुछ प्रयास किए ताकि यूनिक्स उपयोगकर्ता अधिक सहज हों। Technet.microsoft.com/en-us/library/dd347739.aspx
muru

7
डॉस पर विकिपीडिया लेख, इस पर कुछ प्रकाश डाल सकता है। उद्धरण: "DOS के बजाय Intel 8086 16-बिट प्रोसेसर पर चलाया गया। MS-DOS 1.28 और PC DOS 2.0 के साथ शुरू ऑपरेटिंग सिस्टम ने Xenix, Microsoft के यूनिक्स के वेरिएंट से प्रेरित विभिन्न विशेषताओं को शामिल किया।" तो यूनिक्स एक बिंदु तक है, एमएस-डॉस के लिए सबसे आगे। en.wikipedia.org/wiki/DOS
थियोडर्न'

4
@muru: वास्तव में, दोनों यूनिक्स और डॉस आदेशों वास्तव में सिर्फ करने के लिए उपनाम हैं असली PowerShell आदेशों है, जो एक मानकीकृत के अनुसार नाम हैं Action-Objectसंरचना, भी मानकीकृत कार्यों और वस्तुओं का एक सेट से बना। उदाहरण के लिए, दोनों lsऔर dirके लिए उपनाम हैं Get-ChildItem(अतिरिक्त उपनाम है जो gci), mkdirऔर mdवास्तव में कर रहे New-Itemहैं (जो वास्तव में और अधिक बस निर्देशिका से बना सकते हैं, PowerShell का वस्तु आधारित दृष्टिकोण के कारण), और इतने पर।
जोर्ग डब्ल्यू मित्तग

2
CPM, VMS, JCL को भी देखें।
ज़ैन लिंक्स

जवाबों:


44

विंडोज cmd.exeका समर्थन नहीं करता ls, mountआदि, जब तक कि वह भी इन्हें स्थापित किया है और उन्हें करने के लिए जोड़ा %PATH%(Cygwin, MinGW, के माध्यम से यूनिक्स आधारित अनुप्रयोगों (SUA) के लिए सबसिस्टम या कुछ और)। पॉवरशेल करता है। और ऐसा इसलिए है क्योंकि पॉवर्सशेल में एलियन के रूप में मानक पॉवर्सशेल कमांड हैं, ताकि यूनिक्स उपयोगकर्ता अधिक आरामदायक हो सकें। Powershell में संगतता एलियंस की सूची देखें । विंडोज है rmdir, mkdirआदि, हैं, लेकिन इन, ज़ाहिर है, एक ही विकल्प वाक्य रचना है कि आप Ubuntu पर पाते हैं समर्थन नहीं करते।

उबंटू में, इन का बैश से कोई लेना-देना नहीं है। वे सभी बाहरी आदेश हैं। ऐसी उपयोगिताओं के लिए मानक हैं। POSIX सबसे उल्लेखनीय है ( POSIX-mandated उपयोगिताओं की सूची देखें ), और Linux Standard Base (LSB) एक और है जो लिनक्स सिस्टम के लिए महत्वपूर्ण है (जो कि ज्यादातर POSIX पर आधारित है, लेकिन कुछ अतिरिक्त है )। उबंटू के लोगों को ज्यादातर GNU द्वारा प्रदान किया जाता है , और GNU उपयोगिताओं में अक्सर POSIX द्वारा आवश्यक आधार की तुलना में अधिक विशेषताएं होती हैं।

POSIX उस शेल भाषा को भी परिभाषित करता है जिसका आपने उल्लेख किया है (जो कि एक से काफी अलग है cmd.exe)। यह बॉर्न शेल के सिंटैक्स से लिया गया है। बश (अब आप जानते हैं कि बॉर्न फिर से क्या कहता है), जीएनयू से भी, शीर्ष पर सुविधाओं को भी जोड़ता है, लेकिन आवश्यकता पड़ने पर पोसिक्स-अनुरूप तरीके से व्यवहार कर सकता है। POSIX भाषा वह है जिसे आप प्राप्त करना चाहते हैं shbash, ksh, ash, dash, zshसभी उपयोग कि संवर्द्धन के साथ भाषा,। cshअपने स्वयं के (दुःस्वप्न) दुनिया में है, और tcshबढ़ाता है csh

थोड़ा और समझने के लिए, यूनिक्स और यूनिक्स जैसी प्रणालियों के इतिहास को देखें । एक दशक से अधिक समय तक यूनिक्स प्री-डेट करता है, और ये उपयोगिताओं पहली बार यूनिक्स में दिखाई दिए।

विंडोज़, एक समय में, POSIX- आज्ञाकारी था, क्योंकि अमेरिकी सरकार को सरकारी एजेंसियों द्वारा उपयोग किए जाने वाले OSes के लिए इसकी आवश्यकता थी (जब उन्होंने यूनिक्स (SFU) के लिए सेवाएँ जोड़ीं , जिसमें से SUA पहले पैराग्राफ में उल्लिखित था)। लेकिन उस आवश्यकता को समाप्त कर दिया गया, और बाद में, एसयूए को हटा दिया गया।

सम्बंधित:

(इन पोस्टों के सामान्य भाग पर ध्यान दें - वे सभी यूनिक्स और लिनक्स पर हैं , और टैग किए गए इतिहास - आप इस टैग के माध्यम से ब्राउज़िंग पा सकते हैं।)


3
AFAIK, rmdir(साथ में mkdirऔर cd / chdir) command.comMS-DOS 2.0 के बाद से मूल भवन हैं (इससे पहले DOS फ़ाइल सिस्टम में कोई पदानुक्रम नहीं था)
jlliagre

1
rdएक शॉर्टकट mdभी था।
16

1
यह वही है जो मैंने आपके उत्तर को पढ़ने और दूसरों से प्रदान किए गए लिंक के माध्यम से स्किमिंग से प्राप्त किया है: ये कमांड / यूटिलिटी पहली बार विभिन्न सिस्टम पर अतीत में दिखाई दिए हैं। समय के साथ उनमें से अधिकांश को उबंटू और उनमें से कुछ को विंडोज में एकीकृत कर दिया गया है। विंडोज ने हालांकि चीजों को अपने तरीके से करने का फैसला किया और इन उपयोगिताओं का अपना संस्करण बनाया। समय के साथ विंडोज ने अपने स्वयं के शेल कमांड में उपनाम जोड़ने का फैसला किया ताकि लाइनक्स उपयोगकर्ता कमांड का उपयोग कर सकें जो कि उनके सिस्टम पर समान रूप से दिखाई देते हैं, लेकिन नीचे वे विंडोज़ कमांड में अनुवादित हैं
Shady Programmer

1
POSIX भाषा वह है जिसे आप प्राप्त करना चाहते हैं shbash, ksh, ash, dash, zshसभी उपयोग कि संवर्द्धन के साथ भाषा,। cshअपने स्वयं के (दुःस्वप्न) दुनिया में है, और tcshबढ़ाता है csh। विंडोज ने एक समय में, POSIX का पालन किया, क्योंकि अमेरिकी सरकार को सरकारी एजेंसियों द्वारा उपयोग किए जाने वाले OSes के लिए इसकी आवश्यकता थी (यह वह जगह है जहां SUA आई थी)। लेकिन उस आवश्यकता को समाप्त कर दिया गया, और बाद में, एसयूए को हटा दिया गया।
मूरू

1
@ शैडीप्रोग्रामर एक और यू एंड एल पोस्ट आपको दिलचस्प लगेगी
muru

0

सरल:

लिनक्स यूनिक्स मॉडल पर आधारित एक प्रणाली है, जैसा कि डेनिस रिची और केन थॉम्पसन द्वारा आविष्कार किया गया था।

विंडोज / डॉस सीपी / एम नामक एक प्रणाली का एक सस्ता नॉकऑफ़ है जो 1970 में लोकप्रिय था उन पुराने कंप्यूटरों पर जिन्हें आपने टीवी पर प्लग किया था, यह प्रणाली 60 के दशक के अंत में 70 के दशक के शुरुआती यूनिक्स प्रणालियों का एक सस्ता दस्तक थी। ।


जबकि आपके उत्तर के लिए कुछ सच्चाई है, यह उपयोगी होने के लिए बहुत अधिक उपयोगी है। (और हम सीपी / एम के साथ मॉनिटर या टर्मिनलों का उपयोग करते थे - टीवी नहीं;)) जब मैं कुछ अस्पष्ट बैश या sed कमांड का पता लगाने की कोशिश कर रहा हूं, तो मैं कभी-कभी उन दिनों के बारे में सोचता हूं जब ओएस शायद ही आपके लिए कुछ करता था, लेकिन यह करना आसान था - और मैं 64k मशीन पर मेमोरी से बाहर कभी नहीं निकला।
जो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.