'टर्मिनल', 'शेल', 'ट्टी' और 'कंसोल' के बीच सटीक अंतर क्या है?


1235

मुझे लगता है कि ये शब्द लगभग उसी चीज़ को संदर्भित करते हैं, जब शिथिल रूप से उपयोग किया जाता है:

  • टर्मिनल
  • खोल
  • tty
  • कंसोल

इनमें से प्रत्येक शब्द वास्तव में किसके संदर्भ में है?



28
मैं उस कमांड में 'कमांड लाइन' जोड़ना चाहता हूँ :-)
teeks99

1
कमांड लाइन टर्मिनल / टर्मिनल एमुलेटर से शेल में चलने वाली कमांड-लाइन दुभाषिया को कमांड भेजने के लिए इस्तेमाल की जाने वाली भाषा है।
मार्टी फ्राइड

1
टेलीटाइपराइटर (TTY) पहले में आपरेशन में डाल दिया गया था और न्यूयॉर्क में मैकेनिक्स संस्थान में प्रदर्शन किया 1844 en.wikipedia.org/wiki/Teleprinter
सर्ज Stroobandt

दो और उपयोगी लिंक - feyrer.de/NetBSD/ttys.html और quora.com/...
निशांत

जवाबों:


1198

एक टर्मिनल बिजली के तार के अंत में है, एक शेल कछुए का घर है, ट्टी एक अजीब संक्षिप्त नाम है और कंसोल एक प्रकार का कैबिनेट है।

खैर, etymologically बोल रहा हूँ, वैसे भी।

यूनिक्स शब्दावली में, संक्षिप्त उत्तर वह है

  • टर्मिनल = tty = पाठ इनपुट / आउटपुट वातावरण
  • कंसोल = भौतिक टर्मिनल
  • शेल = कमांड लाइन दुभाषिया

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

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

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

एक सांत्वना आम तौर पर भौतिक अर्थ है कि कुछ परिभाषा से है प्राथमिक टर्मिनल सीधे एक मशीन से जुड़े में एक टर्मिनल है। कंसोल ऑपरेटिंग सिस्टम (कर्नेल-कार्यान्वित) के रूप में प्रकट होता है। कुछ प्रणालियों पर, जैसे कि लिनक्स और फ्रीबीएसडी, कंसोल कई ttys के रूप में प्रकट होता है (विशेष कुंजी संयोजन इन ttys के बीच स्विच); बस मामलों को भ्रमित करने के लिए, प्रत्येक विशेष ट्टी को दिया गया नाम "कंसोल", "वर्चुअल कंसोल", "वर्चुअल टर्मिनल" और अन्य भिन्नताएं हो सकता है।

यह भी देखें कि वर्चुअल टर्मिनल "वर्चुअल" क्यों है, और "वास्तविक" टर्मिनल क्या / क्यों / कहाँ है?


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

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

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

कमांड-लाइन के गोले में कमांड को संयोजित करने के लिए फ्लो कंट्रोल कंस्ट्रक्शन शामिल हैं। एक इंटरैक्टिव प्रॉम्प्ट पर कमांड टाइप करने के अलावा, उपयोगकर्ता स्क्रिप्ट लिख सकते हैं। सबसे आम गोले में बॉर्न_शेल के आधार पर एक सामान्य वाक्यविन्यास होता है । जब " शेल प्रोग्रामिंग " पर चर्चा की जाती है , तो शेल लगभग हमेशा एक बॉर्न-शैली शेल के रूप में निहित होता है। कुछ गोले जिन्हें अक्सर स्क्रिप्टिंग के लिए उपयोग किया जाता है, लेकिन उन्नत इंटरैक्टिव विशेषताओं की कमी में कॉर्न शेल (ksh) और कई राख वेरिएंट शामिल हैं। बहुत ज्यादा किसी भी यूनिक्स की तरह प्रणाली में एक बॉर्न-शैली का खोल होता है /bin/sh, जो आमतौर पर राख, क्श या बैश होता है।

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


टर्मिनल और शेल के बीच श्रम का विभाजन पूरी तरह से स्पष्ट नहीं है। यहाँ उनके मुख्य कार्य हैं।

  • इनपुट: टर्मिनल कुंजियों को नियंत्रण अनुक्रमों में परिवर्तित करता है (जैसे Left\e[D)। शेल नियंत्रण अनुक्रमों को आदेशों में परिवर्तित करता है (जैसे \e[Dbackward-char)।
  • शेल द्वारा लाइन संपादन, इनपुट इतिहास और पूर्णता प्रदान की जाती है।
    • टर्मिनल इसके बजाय अपनी लाइन संपादन, इतिहास और पूर्णता प्रदान कर सकता है, और केवल शेल को एक पंक्ति भेज सकता है जब यह निष्पादित होने के लिए तैयार है। इस तरह से संचालित होने वाला एकमात्र सामान्य टर्मिनल M-x shellEmacs में है।
  • आउटपुट: शेल "डिस्प्ले foo", "अग्रभूमि रंग को हरे रंग में स्विच करता है", "कर्सर को अगली पंक्ति में ले जाने" आदि जैसे निर्देशों का उत्सर्जन करता है । टर्मिनल इन निर्देशों पर कार्य करता है।
  • प्रॉम्प्ट विशुद्ध रूप से एक शेल अवधारणा है।
  • शेल कभी भी चलने वाले कमांड के आउटपुट को नहीं देखता है (जब तक कि पुनर्निर्देशित नहीं किया जाता है)। आउटपुट इतिहास (स्क्रॉलबैक) विशुद्ध रूप से एक टर्मिनल अवधारणा है।
  • इंटर-एप्लिकेशन कॉपी-पेस्ट टर्मिनल द्वारा प्रदान किया जाता है (आमतौर पर माउस या कुंजी अनुक्रम जैसे कि Ctrl+ Shift+ Vया Shift+ Insert)। शेल का अपना आंतरिक कॉपी-पेस्ट तंत्र भी हो सकता है (जैसे Meta+ Wऔर Ctrl+ Y)।
  • जॉब कंट्रोल (बैकग्राउंड में प्रोग्राम लॉन्च करना और उन्हें मैनेज करना) ज्यादातर शेल द्वारा किया जाता है। हालाँकि, यह टर्मिनल है कि अग्रभूमि नौकरी को मारने के लिए + और इसे निलंबित करने के लिए Ctrl+ जैसे प्रमुख संयोजनों को संभालता है।CCtrlZ

50
केवल वक्रोक्ति: मैं कहूंगा कि कर्नेल के दोनों प्रकार "कर्नेल" प्रदान करते हैं। अंतर पर मैं जोर दूंगा कि हार्डवेयर ttys (उदाहरण के लिए सीरियल लाइन्स और बिल्ट-इन, टेक्स्ट-मोड कंसोल) में एक छोर हार्डवेयर से जुड़ा होता है और एक छोर सॉफ्टवेयर से जुड़ा होता है (जैसे लॉगिन प्रोग्राम और / या शेल) जबकि छद्म टिट्स होते हैं दोनों सिरों को सॉफ्टवेयर से जोड़ा जाता है (जैसे एक छोर पर एक टर्मिनल एमुलेटर और दूसरे पर शेल)।
क्रिस जॉन्सन

12
@phunehehe: सही, यह "शेल" का एक अलग अर्थ है, ऑपरेटिंग सिस्टम डिजाइन में सामान्य उपयोग में: शेल कर्नेल का बाहरी हिस्सा है। यह यूनिक्स की शब्दावली नहीं है: यूनिक्स गुठली एक घटक है कि एक खोल कॉल कर सकते हैं नहीं है।
गिल्स

24
शेल रूपक के लिए मेरे दिमाग में यह छवि है।
ændrük 19

12
लिनक्स के तहत "कंसोल" का एक और अर्थ भी है। कंसोल (केवल एक ही है) जहाँ printkपर्याप्त प्राथमिकता दी जाती है (जैसे, कर्नेल पैनिक्स)। यह console=DEVICE,...कर्नेल कमांड लाइन (उदाहरण के console=ttyS0,115200लिए, पहले सीरियल पोर्ट के लिए, 115,200 बीपीएस पर) पास करके सेट किया गया है । आम तौर पर यह वर्चुअल-टर्मिनल के लिए डिफॉल्ट करता है, लेकिन कर्नेल संकलित होने पर इसे बदला जा सकता है।
derobert

19
"... टर्मिनल ... अग्रभूमि नौकरी को मारने के लिए Ctrl + C जैसे महत्वपूर्ण संयोजनों को संभालता है और Ctrl + Z इसे निलंबित करने के लिए" नहीं काफी: टर्मिनल अभी भी केवल नियंत्रण वर्ण भेजता है, यह ट्टी डिवाइस है जो तय करता है कि उन्हें कैसे संभालना है, और यह कॉन्फ़िगर करने योग्य है । डिफ़ॉल्ट रूप से ट्टी डिवाइस नियंत्रण वर्णों को शेल (और अन्य प्रक्रियाओं) को भेजे गए संकेतों में परिवर्तित करता है।
क्रिस पेज

194

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

फ़ाइल जो टर्मिनल का प्रतिनिधित्व करती है, पारंपरिक रूप से, एक ट्टी फाइल कहलाती है । आप "/ dev" एक UNIX सिस्टम की निर्देशिका के अंतर्गत देखें, तो आप का एक बहुत कुछ मिल जाएगा tty आभासी शान्ति से जुड़े फ़ाइलें (लिनक्स पर जैसे TTY1), आभासी टर्मिनल (जैसे अंक / 0) या शारीरिक रूप से जुड़ा हार्डवेयर (जैसे ttyS0 भौतिक सीरियल टर्मिनल है, यदि कोई हो, मेजबान के पहले सीरियल पोर्ट पर संलग्न)।

एक सांत्वना हार्डवेयर शारीरिक रूप से करने के लिए जोड़ा (या का हिस्सा) मेजबान का एक टुकड़ा होना चाहिए। सिस्टम में इसकी एक विशेष भूमिका है: यह रखरखाव के लिए एक सिस्टम तक पहुंचने का मुख्य बिंदु है और कुछ विशेष ऑपरेशन केवल एक कंसोल (जैसे देखें single user mode) से किया जा सकता है । एक टर्मिनल हो सकता है, और आमतौर पर, हार्डवेयर का एक दूरस्थ टुकड़ा है।

अंतिम, लेकिन कम से कम नहीं, एक शेल एक विशेष कार्यक्रम है जो एक उपयोगकर्ता के साथ एक नियंत्रित ट्टी और ऑफ़र के माध्यम से करता है, उपयोगकर्ता के लिए, अन्य प्रोग्राम लॉन्च करने का तरीका (जैसे bash, csh, tcsh)।

एक टर्मिनल एमुलेटर एक प्रोग्राम है जो एक भौतिक टर्मिनल (जैसे xterm, सूक्ति-टर्मिनल, मिनिकॉम) का अनुकरण करता है।

इसलिए जब आप अपने लिनक्स सिस्टम (X11 के तहत) पर एक "टेक्स्ट विंडो" देखते हैं: आप एक टर्मिनल एमुलेटर , एक वर्चुअल टर्मिनल से जुड़े होते हैं , जिसे ट्टी फाइल द्वारा पहचाना जाता है , जिसके अंदर एक शेल चलता है ।


2
किसी भी डेस्कटॉप कंप्यूटर में सिस्टम कंसोल (मेरे 2015 या पोस्टर के 2010 में, कोई फर्क नहीं पड़ता) है। जैसा कि यह सही ढंग से कहा गया था, यह हार्डवेयर का एक टुकड़ा है। लेकिन "आजकल लगभग सभी ... कंसोल" आभासी "का प्रतिनिधित्व करते हैं" लगभग विरोधाभासी है और स्पष्ट रूप से अच्छा नहीं है।
इंनिस मिस्सी

1
"एक टर्मिनल या कंसोल हार्डवेयर का एक टुकड़ा है, जिसके उपयोग से उपयोगकर्ता होस्ट के साथ बातचीत कर सकता है। मूल रूप से एक कीबोर्ड एक पाठ स्क्रीन के साथ युग्मित होता है।" अपने ठोस पहलू द्वारा भयानक खोज
वेबवैन

@andcoz - "टेक्स्ट विंडो" से आपका क्या तात्पर्य है? क्या टर्मिनल एमुलेटर वर्चुअल टर्मिनल नहीं है? अगर मैं ttyकेडीई के कंसोल जैसे टर्मिनल एमुलेटर में कमांड पर रन करता हूं , तो आउटपुट / देव / पीटीएस / 0 है।
प्रेरित

1
@IncnisMrsi - क्या कोई डेस्कटॉप कंप्यूटर कंसोल नहीं है ? यदि नहीं, तो आपके पास सिस्टम कंसोल का क्या मतलब है?
प्रेरित

2
@Motivated ट्टी /dev/pts/0फाइल है, जो कर्नेल द्वारा उजागर प्रोग्रामेटिक इंटरफ़ेस के लिए एक हैंडलर है। इस हैंडलर के माध्यम से, एक प्रोग्राम (जैसे शेल) एक टर्मिनल (वास्तविक या आभासी) के साथ बातचीत कर सकता है। एक टर्मिनल एमुलेटर एक सॉफ्टवेयर है जो एक टर्मिनल का अनुकरण करता है। एमुलेटर कर्नेल को प्रोग्रामर को खुद से बातचीत करने के लिए हैंडलर बनाने के लिए कहता है (देखें man openpty)। तो टर्मिनल (एमुलेटर) से कर्नेल ट्टी हैंडलर तक, प्रोग्राम (और इसके विपरीत) तक जानकारी प्रवाहित होती है। प्रोग्राम और टर्मिनल एक दूसरे से सीधे बात नहीं करते हैं, लेकिन केवल ट्टी फाइल (हैंडलर) के माध्यम से।
andcoz

48

SHORT स्पष्टीकरण:

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

एक टर्मिनल एक सत्र है जो कमांड-लाइन कार्यक्रमों के लिए इनपुट और आउटपुट प्राप्त और भेज सकता है। कंसोल इनमें से एक विशेष मामला है।

TTY अनिवार्य रूप से एक छद्म उपकरण है, इसे एक कर्नेल संसाधन कहते हैं, जिसका उपयोग प्रक्रियाओं द्वारा एक विशिष्ट टर्मिनल तक पहुंचने के लिए किया जाता है। TTYs को एक हार्डवेयर पोर्ट से जोड़ा जा सकता है जैसे कि सीरियल पोर्ट, या वर्चुअल हो सकता है, जैसे कि जब कोई उपयोगकर्ता किसी नेटवर्क में लॉग इन करता है

शेल एक प्रोग्राम है जिसका उपयोग प्रोग्राम को नियंत्रित करने और चलाने के लिए किया जाता है। यह अक्सर एक टर्मिनल के माध्यम से, अंतःक्रियात्मक रूप से उपयोग किया जाता है। कई शैल कार्यक्रम मौजूद हैं, बैश यकीनन आज सबसे अधिक इस्तेमाल किया जाने वाला खोल है। अन्य शेल, बिना किसी विशेष क्रम में, बॉर्न शेल, सी-शेल, डैश, टीश, केश, और तेजी से लोकप्रिय zsh शामिल हैं। और भी कई हैं।

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


1
PTY एक छद्म TTY है। TTY हो सकता है, लेकिन अनिवार्य रूप से वर्चुअल (या तो छद्म) टर्मिनल नहीं है।
लुसियानो

35

एक TTY (यानी टी हाथी स्व pewriter) एक विशेष उपकरण है कि जो लोग, बहरा सुनवाई, या की मुश्किल है की सुविधा देता है है भाषण बाधित उपयोग बातचीत करने के लिए टेलीफोन, उन्हें पाठ संदेश टाइप करने की अनुमति देकर। बातचीत करने के लिए वार्तालाप के दोनों सिरों पर एक TTY आवश्यक है।
या
TTY वह टर्मिनल है जिसका उपयोग टेक्स्ट मैसेज टाइप करने के लिए किया जाता है।


खोल : एक बीज यानी गिरी का बाहरी सुरक्षात्मक आवरण हिस्सा।
या
किसी सिस्टम के केंद्रीय या आवश्यक हिस्से के लिए ढांचा या बाहरी संरचना।
यहां छवि विवरण दर्ज करें


कंसोल का अर्थ है कीबोर्ड और कंप्यूटर पर शारीरिक रूप से होने वाले अटेचमेंट की निगरानी करना।


28

पहले से ही दो शानदार उत्तर हैं, लेकिन "वर्चुअल टर्मिनल" वाक्यांश के बारे में जानकारी जोड़ना चाहते हैं । आम तौर पर, इसका मतलब कुछ है जो एक टर्मिनल की उपस्थिति / कार्यक्षमता प्रदान करता है, i। इ। व्यापक अर्थों में एक । लेकिन लिनक्स के शुरुआती दिनों में (1994-95) कुछ डेवलपर्स द्वारा "वर्चुअल कंसोल" (कई असंबंधित उपयोगकर्ता इंटरफेस) के साथ समान रूप से उपयोग किया गया था । यह उपयोग प्रलेखन में बनी रहती है; दो अलग-अलग शब्द थे (और हैं) tty1, tty2… चीज़ों को संदर्भित करने के लिए उपयोग किए जाते हैं। आजकल () 1996 से) "वर्चुअल टर्मिनल" भी -based टर्मिनल एमुलेटर का उल्लेख कर सकता है।

लिनक्स vt(पाठ मोड सिस्टम कंसोल का चालक) इसकी कर्नेल का पहला टुकड़ा था। यह शुरू में मेनफ्रेम के कनेक्शन के लिए इस्तेमाल किया गया था और इस अर्थ में यह एक "वर्चुअल टर्मिनल" है, इसलिए नाम। वर्चुअल कंसोल को नियंत्रित करने वाला कोड भी इसमें रहता हैvt.c । लिनक्स कर्नेल इंजीनियर tty1, tty2 को निरूपित करने के लिए लगातार "कंसोल" शब्द का उपयोग करते हैं और उनके लिए "vc_" उपसर्ग का उपयोग करते हैं। उदाहरण के लिए, एक vc_allocateफ़ंक्शन है। दूसरी ओर, के रूप में ऐसे उपयोगकर्ता के अंतरिक्ष उपकरण के डेवलपर्स kbdऔर console-toolsइस्तेमाल किया "आभासी कंसोल" (वीसी) और "आभासी टर्मिनल" (VT) दूसरे के स्थान पर। And एंड्रीज ई। ब्रूवर से संपर्क कियाऔर उसे शुरुआती डेवलपर्स (1994-95) द्वारा इस्तेमाल की जाने वाली शब्दावली को स्पष्ट करने के लिए कहा। एंड्रीज ने कुछ जवाब दिए। उन्होंने कहा कि वीटी और वीसी पर्यायवाची हैं और "अविभाज्य" संक्षिप्त हैं। -> सामान्य तौर पर, एक वर्चुअल कंसोल एक वर्चुअल टर्मिनल है, लेकिन कांसेप्ट सही नहीं है। जो "वर्चुअल टर्मिनल" वर्चुअल कंसोल नहीं हैं, वे वास्तव में स्यूडोटर्मिनल (एंड्रीज़ स्टेट्स हैं, ये वीटी नहीं हैं )। वर्चुअल कंसोल के विपरीत, जहां कर्नेल कंसोल एप्लिकेशन के लिए टर्मिनल कार्यक्षमता प्रदान करता है, कंसोल अनुप्रयोगों और टर्मिनल बनाने वाले प्रोग्राम के बीच संचार की व्यवस्था करने के लिए pseudoterminals PTY "डिवाइसेस" का उपयोग करते हैं , जो कि यूजरस्पेस में चलता है । उदाहरण एक्स-आधारित टर्मिनल एमुलेटर और हैंsshd, जो प्रत्येक लॉगिन सत्र के लिए एक छद्म आवंटित करता है। छद्म व्यक्ति को "कंसोल" नहीं कहा जा सकता है - यह एक गलती है।


14
  • टर्मिनल = एक इंटरफ़ेस जो आउटपुट के लिए एक डिस्प्ले और शेल सत्र के लिए इनपुट के लिए एक प्रमुख बोर्ड प्रदान करता है।

  • शेल = दुभाषिया जो स्ट्रिंग के रूप में टाइप की गई कमांड निष्पादित करता है

  • कंसोल: वास्तव में हम दो प्रकार के कंसोल का उपयोग करते हैं

    • भौतिक कंसोल = एक सिस्टम के साथ इंटरैक्ट करने के लिए उपयोग किया जाने वाला हार्डवेयर डिस्प्ले और कीबोर्ड

    • वर्चुअल कंसोल = एक से अधिक तार्किक कंसोल में से एक जो एक स्वतंत्र लॉगिन सत्र का समर्थन कर सकता है।

  • tty (टेलेटाइप अर्थात टर्मिनल)। = एक टर्मिनल मूल रूप से सिर्फ एक यूजर इंटरफेस डिवाइस है जो इनपुट और आउटपुट के लिए टेक्स्ट का उपयोग करता है।


ट्टी क्या है? - अन्यथा, आपका उत्तर केवल एक ही है जिसे मैंने पढ़ा है
21:39 पर लक्सैक्स

8

आपको इतिहास में गोता लगाने की जरूरत है।

पेपर और कीबोर्ड के साथ टाइपराइटर जैसे उपकरण थे। उन्हें टेलेटाइप्स कहा जाता था (जिसका अर्थ है "दूर से टाइप करें", क्योंकि "टेली" का अर्थ है "रिमोट") या शॉर्ट के लिए टिट्स । 70 के दशक में उन्हें CRT मॉनीटर वाले उपकरणों द्वारा कांच के टिट्स नाम से देखा गया

किसी भी कंप्यूटर को अपनी स्थिति और त्रुटियों (और, संभवतः, आदेशों को स्वीकार करने) की रिपोर्ट करने के लिए किसी तरह की आवश्यकता होती है। यह कंसोल के माध्यम से किया जाता है जो लगभग हमेशा कंप्यूटर से जुड़ा होता है। तो, कंसोल के लिए 2 अर्थ हैं : कुछ जो स्टेटस रिपोर्ट करने के लिए उपयोग किया जाता है और कुछ ऐसा जो सीधे जुड़ा हुआ है।

UNIX एक इंटरेक्टिव सिस्टम है: कई उपयोगकर्ता इससे जुड़ सकते हैं और एप्लिकेशन शुरू कर सकते हैं। पहले कंप्यूटर ने इसके लिए टेलेटिप ( tty ) का उपयोग किया था: प्रत्येक उपयोगकर्ता के पास टेलीटेाइप था जो सीरियल लाइन कनेक्शन के साथ मशीन से जुड़ा था। इस तरह के टेलेटाइप को टर्मिनल कहा जाता है । UNIX को "टर्मिनलों के पीछे बैठे उपयोगकर्ता" को संभालने के लिए विशेष सबसिस्टम भी मिला, जिसे टटी भी कहा जाता है क्योंकि पहले टर्मिनल टेलेटिप थे। प्रत्येक प्रक्रिया यूनिक्स में ट्टी से जुड़ी हो सकती है। इसका मतलब है कि टर्मिनल के पास कहीं एक उपयोगकर्ता बैठा है। अधिक जानकारी के लिए http://www.linusakesson.net/programming/tty/ देखें ।

अनुप्रयोग चलाने के लिए कर्नेल को बताने के लिए उपयोगकर्ताओं को किसी तरह की आवश्यकता होती है। शेल (sh, bash, csh, ksh, आदि) का उपयोग उसके लिए किया जाता है। शेल ट्टी पर चलता है , उपयोगकर्ता से कमांड स्वीकार करता है और कर्नेल को कुछ ऐप चलाने के लिए कहता है।

लेकिन टर्मिनल हमेशा भौतिक रूप से मशीन से जुड़े नहीं होते हैं। कुछ अनुप्रयोग हो सकते हैं जो उपयोगकर्ता से कीस्ट्रोक्स को स्वीकार करने वाले टर्मिनल को "अनुकरण" करते हैं और उन्हें कहीं भेजते हैं (xterm और ssh अच्छे उदाहरण हैं)। कर्नेल में एक एपीआई है जिसे छद्म टर्मिनल कहा जाता है। तो आपका tty वास्तविक टर्मिनल के बजाय कुछ एप्लिकेशन से जुड़ा हो सकता है। Xterm पाठ प्रदर्शित करने के लिए X11 का उपयोग करता है और ssh इसके लिए नेटवर्क कनेक्शन का उपयोग करता है।

आईबीएम पीसी में कीबोर्ड और वीडियो कार्ड हैं (उन्हें कभी-कभी कंसोल भी कहा जाता है )। लिनक्स इसके साथ विभिन्न कार्य कर सकता है:

  • "त्रुटियों और स्थिति की रिपोर्ट करने के लिए इंजन" के रूप में इसका उपयोग करें: लिनक्स कंसोल। यदि आप कंसोल = / dev / ttyS0 को कर्नेल में पास करते हैं तो यह COM1 से जुड़ी किसी चीज़ को कंसोल के रूप में उपयोग करेगा, और यदि आप नहीं करते हैं तो यह पीसी कंसोल का उपयोग करेगा।
  • टर्मिनल का अनुकरण करने के लिए इसका उपयोग करें, जिसे वर्चुअल टर्मिनल (vty) कहा जाता है ।

यह कंसोल पर टर्मिनल का अनुकरण करना भी बंद कर सकता है और इसे कुछ ऐप को दे सकता है। ऐप अपने वीडियो मोड को स्विच कर सकता है और विशेष रूप से इसका उपयोग कर सकता है (X11 या svgalib ऐसा कर सकता है)।

तो, यहाँ आधुनिक अर्थ हैं:

  • टर्मिनल: इसके पीछे बैठे वास्तविक उपयोगकर्ता के साथ कुछ। भौतिक टर्मिनल (दुर्लभ) या छद्म टर्मिनल (xterm, ssh) या वर्चुअल टर्मिनल (लिनक्स में vty) हो सकता है
  • शेल: एप्लिकेशन (बैश, टीसीएस, आदि) जो उपयोगकर्ता को सिस्टम के साथ बातचीत करने में मदद करता है।
  • tty: टर्मिनल या कर्नेल सबसिस्टम या टर्मिनल का समर्थन करने के लिए।
  • कंसोल: कुछ ऐसी स्थिति जहां स्थिति और त्रुटियां बताई गई हैं ( /dev/console) या कंप्यूटर से जुड़े भौतिक कीबोर्ड और वीडियो डिस्प्ले।

7

यहाँ संक्षिप्त जवाब है -

कर्नेल - किसी भी आधुनिक ऑपरेटिंग सिस्टम का अंतरतम हिस्सा जो सीधे वास्तविक हार्डवेयर से बात करता है।

शैल - वास्तविक कर्नेल के चारों ओर आवरण। जब भी हम कमांड चलाते हैं, हम वास्तव में शेल से बात करते हैं जो बदले में उपयुक्त कर्नेल निर्देशों को आमंत्रित करता है। इसके अलावा, शेल कुछ अन्य सामानों को निष्पादित करने में सक्षम है जैसे कि कमांड होने के दौरान उपयुक्त प्रोग्राम ढूंढना, कुछ फ़ाइल का नाम शॉर्ट हैंड, पाइपिंग आदि।

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

कंसोल - विशेष प्रकार का टर्मिनल जो ओएस प्रशासन के उद्देश्य के लिए मेनफ्रेम से सीधे जुड़ा हुआ है।

tty - TeleTypewriter मेनफ्रेम से और के लिए डेटा भेजने और प्राप्त करने के लिए उपयोग किया जाता है। पहले वीडियो टर्मिनल उपलब्ध थे। लेकिन परंपरागत रूप से इसे अभी भी टटी नाम दिया गया है। यहां तक ​​कि coommandstty

लंबा विस्तृत उत्तर यहां है - टर्मिनल, कंसोल, शेल, कर्नेल, कमांड्स - एक कंप्यूटर के विभिन्न भागों


धन्यवाद, लेकिन मूल रूप से अगर टर्मिनल मौजूद है, तो निजी कंप्यूटरों के लिए ubuntu प्रणाली में भी क्यों मौजूद है, Alt + f-1/6 के साथ सुलभ कृपया, मैं इस तथ्य से ऊपर उनकी उपयोगिता का पता नहीं लगा सकता कि वे ग्राफिक्स सिस्टम के उपयोग के बिना एक्सेस कर सकते हैं अगर मैं अच्छी तरह से समझ गया हूँ
Webwoman

1
@Webwoman - मेरे पास एक कंसोल लॉगिन के माध्यम rootसे sudoया केवल खाते तक पहुंच की अनुमति देने के लिए मेरा सिस्टम कॉन्फ़िगर है । कंसोल्स में अक्सर एक विशेष स्थान विशेषाधिकार-वार होता है, क्योंकि कोई व्यक्ति जो उन तक पहुंचता है, जरूरी है कि वे जिस कंप्यूटर के साथ संवाद करते हैं, उसकी भौतिक पहुंच हो। वे अंतिम उपाय की पहुंच विधि भी हैं। यदि ओएस आंशिक रूप से टूटी हुई स्थिति में है (जैसे कि ईथरनेट चालक टूट गया है) तो आप अभी भी कंसोल तक पहुंच सकते हैं। यह एक मानव इंटरफ़ेस डिवाइस है जो हमेशा उपलब्ध होना चाहिए, कोई फर्क नहीं पड़ता कि सिस्टम किस स्थिति में है।
सर्वव्यापी

आपके उत्तर के लिए @Onifarious धन्यवाद "कंसोल में अक्सर एक विशेष स्थान विशेषाधिकार-वार होता है, क्योंकि कोई व्यक्ति जो उनके पास आवश्यक रूप से पहुंच रखता है, उनके पास आवश्यक रूप से उपयोग किए जाने वाले कंप्यूटर के लिए भौतिक पहुंच है", जिसका मतलब है कि TTY का अक्सर एक विशेष स्थान विशेषाधिकार-वार होता है?
वेबवूमन

@Webwoman - नहीं, सांत्वना। एक TTY अक्सर कंप्यूटर से सीधे जुड़ा नहीं होता है। और कंसोल अक्सर पारंपरिक अर्थों में TTY नहीं है। जब मैं 80 के दशक के अंत में MN के U में गया, तो एक परिसर-व्यापी विशेष नेटवर्क था जिसे मैं यादृच्छिक TTYs को यादृच्छिक कंप्यूटर से जोड़ने के लिए इंटरनेट प्रोटोकॉल (उर्फ IP) नहीं चला रहा था। आईबीएम मेनफ्रेम एक समान बात है और यह एक बड़ा कारण था जिसे आईबीएम ने एसएनए बनाया। और एक सामान्य पीसी, यहां तक ​​कि जब यह केवल पाठ दिखा रहा है, तो कई मायनों में एक TTY के विपरीत है, इसलिए एक पीसी कंसोल वास्तव में एक TTY नहीं है।
सर्वव्यापी

@Webwoman - एक कंसोल की ख़ासियत यह है कि इसका ऑपरेटिंग सिस्टम चलाने वाले हार्डवेयर से सीधा संबंध है। यह विचार कुछ हद तक आधुनिक 'आभासी मशीनों' के साथ धुंधला है, लेकिन यह मूल विचार है।
सर्वव्यापी

6

स्वीकृत उत्तर और टीटीवाई विध्वंसक लेख के अलावा, मुझे वास्तव में इन दो लेखों को पढ़ना बहुत अच्छा लगा:

यह एक NetBSD पर आधारित है।

यूनिक्स के पाषाण काल ​​में, कंप्यूटर सिस्टम में मेनफ्रेम, ब्लिंकिंग लाइट्स का एक बड़ा बॉक्स होता था, जिसमें मेमोरी, मास स्टोरेज और कंप्यूटिंग यूनिट होती थी, और यह रन प्रक्रियाएं उपयोगकर्ताओं या ऑपरेटरों द्वारा शुरू की जाती थीं। चूंकि हार्डवेयर बहुत महंगा था, इसलिए सिस्टम को सच्चे मल्टीसियर सिस्टम के रूप में उपयोग किया जाता था, कई लोग एक ही समय में सिस्टम के साथ बातचीत करते थे। आमतौर पर आज के यूनिक्स वर्कस्टेशन के विपरीत यह क्या नहीं था - एक निश्चित मॉनिटर और कीबोर्ड था। इसके बजाय, मशीन को कमांड जारी करना और आउटपुट प्राप्त करना सीरियल लाइनों पर किया गया था, पहले टेलेटिपर्स और सीआरटी (कैथोड रे ट्यूब) टर्मिनलों का उपयोग करके बाद में। टेलेटिपर्स - यही वह जगह है, जहां यूनिक्स में "टिट्स" आते हैं - इलेक्ट्रॉनिक टाइपराइटर हैं जो होस्ट को सीरियल लाइन पर दबाए गए चाबियाँ भेजते हैं,

यह एक लिनक्स पर आधारित है।

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


1

मुझे इस पर एक दरार लेने दो ... मैं इसमें यूनीक्स और लिनक्स का कमोबेश समान रूप से उपयोग करूंगा। यदि मैं कुछ ऐतिहासिक का उल्लेख कर रहा हूं जो लिनक्स के अस्तित्व को दर्शाता है, तो मैं आमतौर पर "यूनिक्स" लिखूंगा, और अगर मैं हाल ही में कुछ और के बारे में बात कर रहा हूं, या यूनिक्स के लिनक्स स्वाद के लिए कुछ विशिष्ट है, तो मैं आमतौर पर "लिनक्स" लिखूंगा "।

खोल

आपकी सूची में केवल एक चीज जो असतत अवधारणा है, जिसका दूसरों के साथ कोई अतिच्छादन नहीं है, वह है 'खोल'। शेल एक प्रोग्राम है जिसका उद्देश्य उपयोगकर्ता के साथ संवाद करना और उनकी ओर से ऑपरेटिंग सिस्टम संचालन करना है।

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

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

TTY

यह एक भ्रामक है क्योंकि यह कुछ अलग तरह की चीजों को संदर्भित कर सकता है।

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

लेकिन, यह सार उपकरण मौजूद होने का कारण और इसे 'tty' कहा जाता है, 'tty' 'teletype' के लिए संक्षिप्त है, जो कि एक वास्तविक भौतिक उपकरण था जिसमें एक प्रिंटर था जो एक कीबोर्ड के साथ संयुक्त कागज पर मुद्रित होता था। अमूर्त 'ट्टी' डिवाइस का मॉडल उन कार्यक्रमों को प्रस्तुत करता है जो इसका उपयोग कर रहे हैं मूल रूप से यह है कि दूसरे छोर पर एक टेलेटाइप है। आप इसे वर्ण भेजते हैं और वे वर्ण टेलेटाइप पर दिखाई देते हैं। जब आप इससे वर्ण पढ़ते हैं, तो वे वर्ण कुंजियों का प्रतिनिधित्व करते हैं जो एक कीबोर्ड पर टाइप किए गए थे।

पुराने पेपर-प्रिंटर आधारित टिट्स को वीडियो ट्टी के साथ जल्दी से दबा दिया गया था। उन पर, ज़ाहिर है, कागज का कोई रोल नहीं है। और, वास्तव में, स्क्रीन पर किसी भी चरित्र को ओवरराइट करना संभव है। लेकिन, कार्यक्रमों में कुछ प्रकार के अमूर्त 'स्क्रीन' इंटरफेस को प्रस्तुत करने के बजाय, कार्यक्रमों से पलायन अनुक्रम नामक पात्रों की विशेष धाराओं को भेजने की अपेक्षा की जाती है जो विभिन्न प्रकार के कार्यों को पूरा करते हैं। आमतौर पर एक सार चीज़ होती है जिसे 'कर्सर' कहा जाता है जिसे स्क्रीन के चारों ओर ले जाया जा सकता है, और भेजे गए किसी भी चरित्र को कर्सर पर जो भी होगा वह बदल देगा और कर्सर एक चरित्र को आगे बढ़ाएगा। अक्सर आप एक ऐसे चरित्र का रंग बदल सकते हैं जो भागने के दृश्यों के साथ भी मुद्रित होने वाला है।

'ग्लास टिट्स' हैं जो इस मॉडल का पालन नहीं करते हैं और इसके परिणामस्वरूप यूनिक्स दुनिया में खराब तरीके से नियंत्रित होते हैं। आईबीएम 3270 वीडियो टर्मिनलों का परिवार इस श्रेणी में आता है।

लिनक्स / यूनिक्स लोग जिसे आमतौर पर 'शेल विंडो' कहते हैं, एक ग्राफिकल यूजर इंटरफेस का उपयोग करके ग्लास ट्टी का अनुकरण है। आंतरिक रूप से, शेल विंडो के अंदर चलने वाले प्रोग्राम एक वर्चुअल ट्टी डिवाइस से बात कर रहे हैं, जिसे कभी-कभी छद्म ट्टी या स्यूडो-टर्मिनल (उर्फ ए प्टी) कहा जाता है।

टर्मिनल

एक टर्मिनल सिर्फ एक जगह है जहां कंप्यूटर और मानव को इंटरफ़ेस करने के लिए माना जाता है। टर्मिनल पूरी तरह से चित्रमय हो सकते हैं और किसी भी तरह से टैटी मॉडल का पालन नहीं कर सकते हैं, भले ही एक कार्यक्रम इस का अनुकरण करने के लिए अपनी क्षमताओं का उपयोग कर सकता है। सभी वास्तविक भौतिक ट्टी (कांच या अन्यथा) टर्मिनल हैं।

कंसोल

कंसोल एक विशेष प्रकार का टर्मिनल है जिसे आम तौर पर ऑपरेटिंग सिस्टम पर चलने वाले हार्डवेयर में कुछ प्रत्यक्ष सुरक्षित तरीके से संलग्न किया जाता है।

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

लिनक्स का उपयोग करने के तरीके हैं, जिसे 'सीरियल कंसोल' कहा जाता है, जो कि एक कंसोल है जो कंप्यूटर पर एक यूएसबी पोर्ट जैसे सीरियल पोर्ट के माध्यम से जुड़ा होता है (या, कुछ बहुत छोटे और / या बहुत पुराने कंप्यूटरों पर, RS-232 पोर्ट कुछ प्रकार के) और पुराने टेलेटाइप मॉडल का काफी सख्त तरीके से अनुसरण करता है।

फिर, विचार यह है कि यह कंसोल कुछ प्रकार के नेटवर्क के बजाय कंप्यूटर से सीधे भौतिक तरीके से जुड़ा हुआ है जो किसी को भी कनेक्ट करने की अनुमति दे सकता है।

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