शब्द "शेल" का उपयोग कमांड-लाइन इंटरफ़ेस को हटाने के लिए क्यों किया गया था?


28

मैं "शेल" शब्द को लेकर उत्सुक हूं। मुझे लगता है कि मुझे पता है कि यह क्या है (हालांकि "शेल" और "टर्मिनल" के बीच का अंतर अभी भी फजी है) लेकिन "शेल" शब्द को इस प्रकार के कार्यक्रम का वर्णन करने के लिए क्यों चुना गया था?

यह महत्वहीन लग सकता है, लेकिन आमतौर पर जब शब्द विकल्प मुझे रहस्यमय लगता है, तो यह मेरी समझ में अंतर की ओर इशारा करता है।


एक टर्मिनल एक उपकरण या I / O पाइप है। एक शेल एक निष्पादन योग्य कार्यक्रम है जो अंतःक्रियात्मक रूप से वास्तविक समय में एक टर्मिनल से उपयोगकर्ता इनपुट प्राप्त करता है और फिर इसके आधार पर चीजें करता है। प्रत्यक्ष संवादात्मक उपयोग के प्रावधान के बिना "गोले" तकनीकी रूप से किसी प्रकार के व्याख्याकार हैं।
लॉरेंससी

जवाबों:


8

मॉलटिक्स शब्दकोष एक सुराग दे सकता है। शेल इस प्रकार परिभाषित किया गया है:

मल्टिक्स कमांड प्रोसेसर को शेल कहा जाता था। यह कार्यक्रम श्रोता द्वारा निष्पादन के लिए एक कमांड लाइन पारित किया जाता है; यह लाइन को एक कमांड नाम और तर्कों में देता है, कमांड का पता लगाता है और इसे आरंभ करता है, और कमांड प्रोग्राम को उन तर्कों के साथ कॉल करता है जो PL / I वर्ण स्ट्रिंग्स हैं। उपयोगकर्ता-प्रदान किए गए प्रोग्राम के साथ डिफॉल्ट सिस्टम सप्लाई किए गए शेल को प्रतिस्थापित करना सरल है, cu_ $ set_cp (abbre) देखें। एक यूनिक्स खोल में मल्टिक्स अर्थ में शेल और श्रोता दोनों की अवधारणाएं शामिल हैं।

शेल और श्रोता के बीच का संबंध व्युत्पत्ति और रूपक दोनों के रूप में समझ में आता है [1]।

[१] "चूंकि शेल प्राधिकरण, भाषण और सुनवाई का प्रतीक है, जिसे भविष्यवाणी का प्रतीक कहना है ..."



10

से http://en.wikipedia.org/wiki/Thompson_shell#History

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

आगे विकिपीडिया खरगोश छेद यह पता चलता है: "लुई पॉज़िन, ने बहु भाषा में प्रयुक्त कमांड भाषा के लिए शब्द खोल पेश किया"

मैंने इसे पूरी तरह से नहीं पढ़ा है, लेकिन यहां उनका लेखन आपको इसका जवाब दे सकता है: http://www.multicians.org/shell.html

संपादित करें: वास्तव में यह समझाया नहीं गया है। उन्होंने केवल शब्द "गढ़ा"। आप जिस मज़ेदार कहानी की उम्मीद कर रहे थे, क्या वह नहीं थी?


3
असंतुष्ट, लेकिन यह कभी-कभी ऐसा होता है।
एरिक विल्सन

10

हो सकता है क्योंकि यह सतह है, उपयोगकर्ता से आंतरिक कर्नेल परिरक्षण? तो कर्नेल खोल के अंदर मोती होगा।


मैंने हमेशा सुना है कि शेल एक सुरक्षात्मक परत थी जो उपयोगकर्ता को कर्नेल से ढालती थी।
ग्लोरीटॉड

1

लगता है कि उत्तर यहाँ है:

ऐतिहासिक नोट: जाहिरा तौर पर, मूल मल्टिक्स शेल (अर्थ 1) को इसलिए बुलाया गया था क्योंकि यह एक शेल (भावना 3) था; इसने अलग-अलग प्रक्रियाएँ शुरू करके उपयोगकर्ता कार्यक्रमों को नहीं चलाया, लेकिन गतिशील रूप से कार्यक्रमों को अपने कोड में लिंक करके, उन्हें सबरूटीन्स के रूप में बुला रहा है, और फिर वापसी पर उन्हें गतिशील रूप से डी-लिंक कर रहा है। वीएमएस कमांड दुभाषिया अभी भी कुछ इस तरह से करता है।

- विकिपीडिया

यानी, "शेल" एक अच्छा वास्तविक विश्व सादृश्य था कि किस तरह से मल्टीिक्स, यूनिक्स के पूर्ववर्ती, कार्यक्रम चलाए गए।


विकिपीडिया हालांकि एक स्रोत नहीं है। इसे एक के रूप में उपयोग करते हुए, परिपत्र सोर्सिंग की ओर जाता है, जहां विकिपीडिया अपने स्रोत के रूप में एक साइट का उपयोग करता है, जो स्वयं एक स्रोत के रूप में विकिपीडिया का उपयोग करता है। जैसा कि यह खड़ा है, यह शुद्ध अटकलें हैं।
Evi1M4chine

0

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


1
बहुत ओवरलैप है, लेकिन यह बिल्कुल सही नहीं है। प्रत्येक शेल एक उपयोगकर्ता इंटरफ़ेस है। लेकिन हर यूजर इंटरफेस शेल नहीं है। एक शेल मुख्य उपयोगकर्ता इंटरफ़ेस है, जो सब कुछ के आसपास है और जिसमें से सब कुछ शुरू होता है। यह ऑपरेटिंग सिस्टम का मुख्य यूजर इंटरफेस है।
Evi1M4chine

-2

कर्नेल प्रणाली का मूल है, जबकि शेल इसे घेरता है और कर्नेल और उपयोगकर्ता के बीच का इंटरफ़ेस है।

किसी भी UNIX प्रणाली के भीतर, और यहां तक ​​कि लिनक्स सिस्टम के साथ, शेल वह स्थान है जो सिस्टम प्रशासक एक सिस्टम को कॉन्फ़िगर और प्रबंधित करने के लिए काम करता है।

आधुनिक शब्दावली अक्सर शेल प्रॉम्प्ट का वर्णन करने के लिए सीएलआई या कमांड लाइन इंटरफ़ेस शब्द का उपयोग करती है। यह जीयूआई या ग्राफिकल यूजर इंटरफेस के संदर्भ में है। हालाँकि, कोई भी वास्तविक Sysadmin जानता है कि आपको UNIX / Linux को कॉन्फ़िगर करने के लिए GUI टूल का उपयोग नहीं करना चाहिए और केवल शेल कमांड प्रॉम्प्ट पर सीधे काम करना चाहिए।

यह आजकल और भी अधिक प्रासंगिक है जब हम कुछ जूनियर लिनक्स उत्साही लोगों को कहते हैं कि "मैं लिनक्स का उपयोग करता हूं, लेकिन मैं वास्तव में सीएलआई नहीं सीख पाया हूं"।

जैसा कि पुरानी कहावत है "यदि आप इसे शेल प्रॉम्प्ट पर नहीं कर सकते हैं, तो आप ऐसा नहीं कर सकते।"


मुझे सच बोलने के लिए वोट मिला। आह ठीक है ...
कॉलिनक्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.