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


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


173
2017-08-04 04:35


मूल


(1/2) एजेंट कूल ज्यादातर सही है, लेकिन कंसोल की परिभाषा वह पुरानी है, इस विषय को देखते हुए। यदि आप इसका अनुसरण करते हैं तो उनके लिंक में सही जानकारी है। को पढ़िए पूरा का पूरा उनके लिंक पर परिभाषा। कंसोल का उपयोग बहुत सी चीजों के लिए कम से कम किया जाता है, लेकिन सबसे महत्वपूर्ण बात यह आमतौर पर स्थानीय अटैचमेंट मानव इनपुट और आउटपुट डिवाइस को संदर्भित करती है, उदाहरण के लिए कीबोर्ड, प्रदर्शन, और शायद माउस। - 0xSheepdog
(2/2) यह एक pedantic बिंदु की तरह लग सकता है, लेकिन एक अनुभवी systemadmin के रूप में, मैं आपको बताऊंगा यह नहीं। जब किसी सिस्टम में कोई समस्या होती है और पूरी तरह से क्रैश / डाउन / ऑफ़लाइन दिखाई देती है, तो आपको जांच करनी चाहिए भौतिक कंसोल यह देखने के लिए कि क्या यह अभी भी काम कर रहा है, लेकिन नेटवर्क कनेक्टिविटी खो गया है। यह छोटा सा विवरण आपको डेटा, सूचना प्रसंस्करण इत्यादि को बचा सकता है या खर्च कर सकता है। पैडेंटिक, हां। लेकिन महत्वपूर्ण है। - 0xSheepdog
@ 0xSheepdog आप इन टिप्पणियों को पूर्ण उत्तर में विस्तारित करना चाहते हैं (अन्य शर्तों के लिए परिभाषाएं या स्पष्टीकरण सहित), इस तरह पोस्ट किया गया है। किसी प्रश्न के लिए कई उत्तरों के लिए बुरा नहीं है (शायद जब वे बिल्कुल वही जानकारी दें और उसी तरह से)। मुझे यकीन नहीं है कि स्थानीय रूप से मशीन की जांच करने का महत्वपूर्ण अभ्यास वास्तव में अपने भौतिक मानव इंटरफ़ेस को कंसोल को जानने / कॉल करने पर निर्भर करता है, लेकिन शायद यह तर्क है कि सहकर्मियों के साथ प्रभावी संचार या दस्तावेज़ीकरण का उपयोग करना महत्वपूर्ण है। (आप अपने उत्तर में यह स्पष्ट कर सकते हैं।) - Eliah Kagan
उनके करीबी रिश्ते के कारण (सभी अच्छे उत्तरों को देखें) इन शर्तों को कभी-कभी समानार्थी रूप से उपयोग किया जाता है, जो शायद आपको यह पूछने के लिए लाया जाता है। - Mark
देख: 'टर्मिनल', 'खोल', 'tty' और 'कंसोल' के बीच सटीक अंतर क्या है? यूनिक्स और लिनक्सएसई में। - Piotr Dobrogost


जवाब:


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

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

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

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

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

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

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

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


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

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

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

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

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

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


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

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

 से पुनर्नवीनीकरण यूनिक्स और लिनक्स 


120
2017-08-04 10:30



टर्मिनल डिवाइस फ़ाइल के लिए टर्मिनल पर टर्मिनल-हैंडलिंग कोड और / या टर्मिनल-हैंडलिंग कोड कर्नेल (tty ioctls, कच्चे / पके हुए, मूल रेखा संपादन) में मुझे आपके साथ असहमत होना होगा। टर्मिनल = सामान जो बचने वाले कोड को संभालता है, कुंजीपटल को वर्णों में बदल देता है, और एक स्क्रीन पर खींचता है (या कागज / टेप पर प्रिंट)। अधिक जानकारी के लिए मेरा जवाब देखें। - Peter Cordes
@ पीटरकॉर्डस इस स्तर के विस्तार पर, कोई भेद नहीं है। POSIX परिभाषित करता है टर्मिनल समानार्थी के रूप में टर्मिनल डिवाइस, डिवाइस फ़ाइल के अर्थ में। वह यूनिक्स अर्थ है। यह बचने वाले कोडों को संभालने की तुलना में सामान होता है, कुंजीपटल को वर्णों में बदल देता है और स्क्रीन पर खींचता है (या नेटवर्क पर ट्रांसमिट करता है, या फ़ाइल में लॉग इत्यादि)। - Gilles
एचआरएम, हाँ टर्मिनल भी उस अर्थ में उपयोग किया जाता है। इस धारणा के साथ कि एक टर्मिनल एमुलेटर है, या टर्मिनल उपकरण के साथ एक सीरियल पोर्ट है, जो टर्मिनल डिवाइस के एक छोर पर कर्नेल हैंडलिंग कर रहा है। कर्नेल टीटी हैंडलिंग (पके हुए मोड में) केवल कुछ नियंत्रण कोड (^ सी पर संकेत, ^ u / ^? (हटाएं) पर लाइन संपादन। मैं tty कोड और लिनक्स के हिस्से के बीच एक रेखा खींचने की कोशिश कर रहा हूं जो एक ग्राफिक्स कार्ड और एक यूएसबी / पीएस 2 / एटी कीबोर्ड पर एक वीटी 100-जैसे टर्मिनल लागू करता है। आप इसके बिना लिनक्स संकलित कर सकते हैं, लेकिन बिना tty के। - Peter Cordes
@ पीटरकॉर्डस कर्नेल कॉन्फ़िगरेशन में, टर्मिनल के लिए समर्थन छोड़ा जा सकता है (यह कुछ दुर्लभ एम्बेडेड सिस्टम के लिए उपयोगी है जहां स्मृति बेहद तंग है); यह नियंत्रित है CONFIG_TTY। टर्मिनल अनुकरणकों के लिए समर्थन (अधिक सटीक रूप से छद्म टर्मिनल कहा जाता है - "टर्मिनल एमुलेटर" में हमेशा टेलनेट, स्क्रीन, उम्मीद, ... शामिल नहीं है) द्वारा नियंत्रित किया जाता है CONFIG_UNIX98_PTYS। पीसी टेक्स्ट मोड डिस्प्ले और कीबोर्ड या जैसे के लिए समर्थन द्वारा नियंत्रित किया जाता है CONFIG_VT। देख drivers/tty/Kconfig कर्नेल स्रोत में। - Gilles
ओह, मेरे पास हाल ही में कर्नेल स्रोत नहीं था। CONFIG_TTY को केवल 2012 में जोड़ा गया था। वैसे भी, हाँ उम्मीद है कि पहेली के विभिन्न टुकड़े क्या हैं, और वे एक साथ कैसे फिट होते हैं, उनके चारों ओर अपने सिर को लपेटने की कोशिश करने में मदद करता है। - Peter Cordes


एक दृश्य प्रतिनिधित्व।

टर्मिनल

enter image description here

कुछ आप बैठ सकते हैं, और एक मालिक की तरह काम करते हैं।

कंसोल

enter image description here

कुछ हार्डवेयर जो सामान का एक गुच्छा करता है।

कंसोल का एक और उदाहरण, एक वीडियो गेम कंसोल होगा जैसे कि सुपर निंटेंडो [जहां आप एक्ट्राइज़र खेल सकते हैं]

खोल

enter image description hereenter image description here

मूल रूप से चलने वाले आदेशों के लिए एक अनुप्रयोग।

कमांड लाइन इंटरफेस]

enter image description hereenter image description here

मूल रूप से जो भी आप इनपुट करते हैं वह कमांड करता है।


52
2017-08-04 20:09



आपने मेरा विचार चुरा लिया - मैं मूल रूप से वही जवाब देने जा रहा था। तो आप एक upvote हो सकता है। मुद्दा यह है कि इन शर्तों को ज्यादातर इन दिनों समानार्थी माना जाता है, जबकि "टर्मिनल" और "कंसोल" जैसे शब्दों में उनकी उत्पत्ति पुराने कंप्यूटिंग अवधारणाओं में होती है। - thomasrutter
अच्छा प्रयास। सरल और आसान - A Umar Mukthar


वहाँ से लिनक्स सूचना परियोजना:

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

हमारे शब्दों में एक जीयूआई एप्लीकेशन, जहां से हम उपयोगकर्ता के कंसोल तक पहुंच सकते हैं।

कंसोल: कंप्यूटर के लिए नियंत्रण वाले एक उपकरण पैनल

खोल : एक खोल एक ऐसा प्रोग्राम है जो लिनक्स और अन्य यूनिक्स जैसी ऑपरेटिंग सिस्टम के लिए पारंपरिक, टेक्स्ट-केवल उपयोगकर्ता इंटरफ़ेस प्रदान करता है

कमांड लाइन : एक कमांड लाइन कंप्यूटर मॉनिटर (आमतौर पर एक सीआरटी या एलसीडी पैनल) पर ऑल-टेक्स्ट डिस्प्ले मोड पर कमांड प्रॉम्प्ट के दाईं ओर की जगह होती है जिसमें उपयोगकर्ता कमांड और डेटा दर्ज करता है


19
2017-08-04 04:39



"टर्मिनल" एक भौतिक पाठ-केवल स्क्रीन के लिए खड़ा है। आप वास्तव में "टर्मिनल एमुलेटर" कहते हैं। - Registered User
@RegisteredUser एक टर्मिनल एमुलेटर टर्मिनल का एक प्रकार है। शब्द टर्मिनल भौतिक टर्मिनलों तक सीमित नहीं है (इसके लिए सामान्य शब्द है कंसोल)। - Gilles
की परिभाषा कमांड लाइन गलत है। एक कमांड लाइन सभी टेक्स्ट डिस्प्ले मोड तक ही सीमित नहीं है। - Gilles
@ गिल्स मैंने इसे एक वेब-लिंक से पकड़ लिया है। आपने उचित उत्तर ठीक का उल्लेख किया है। - Ten-Coin
@AgentCool मैं कॉपी-पेस्ट करने की आपकी क्षमता पर सवाल नहीं उठाता हूं। मैं स्रोत की अपनी पसंद पर सवाल करता हूं। जो भी आप पोस्ट करते हैं वह आपकी ज़िम्मेदारी है, चाहे आपने इसे लिखा हो या नहीं। - Gilles


यहां जवाब बहुत अच्छे लगते हैं। हालांकि वे मेरे स्वाद के लिए बहुत शुष्क और तकनीकी हैं इसलिए मैं एक ले जाऊंगा ..

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

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

Shellएक ओएस चीज है। कंप्यूटर पर आपके पास कर्नेल है जो उबंटू पर उदाहरण के लिए लिनक्स हिस्सा है। अब चूंकि कर्नेल वास्तव में निम्न स्तर वाला एक खोल प्रदान किया जाता है - एक प्रोग्राम जो उपयोगकर्ता को कर्नेल के साथ एक आसान तरीके से बातचीत करने देता है। उदाहरण के लिए बाश यही है।

Console है (एक शब्दकोश से)

एक टुकड़ा के लिए एक मशीन के लिए नियंत्रण युक्त एक सपाट सतह   विद्युत उपकरण, इत्यादि

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

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


14
2017-08-06 10:40



आपका मतलब क्या है "जीयूआई के विपरीत"? - Koray Tugay
विपरीत के साथ मेरा मतलब है कि आपके पास या तो सीएलआई या जीयूआई है। मैंने जवाब में थोड़ा और स्पष्ट किया है। - Pithikos


मेरे उत्तर को सारांशित करने के लिए:

खोल एक कार्यक्रम है जो processes आदेश और returns उत्पादन, जैसे दे घुमा के लिनक्स में

टर्मिनल एक कार्यक्रम है कि run ए खोल , अतीत में यह एक था भौतिक उपकरण (टर्मिनल से पहले कुंजीपटल के साथ मॉनीटर किया गया था, वे थे teletypes) और फिर इसकी अवधारणा को स्थानांतरित कर दिया गया था सॉफ्टवेयर , पसंद Gnome-टर्मिनल ।

तो मैं खोलता हूँ Gnome-टर्मिनल , एक काले खिड़कियां उस दौड़ को प्रकट करती हैं खोल इसलिए मैं अपने आदेश चला सकता हूं।

कंसोल एक है टर्मिनल का विशेष प्रकार , यह एक भौतिक उपकरण भी था। हमारे पास लिनक्स में उदाहरण है virtual console जो मैं उन्हें संयोजन के द्वारा उपयोग कर सकते हैं Ctrl + ऑल्ट + एफ 1 से एफ 7 ।

कंसोल कभी-कभी कीबोर्ड और मॉनिटर का मतलब है शारीरिक रूप से इस कंप्यूटर से जुड़ा हुआ है।


7
2017-08-05 11:59





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

इसे लंबे समय तक घुमाने के लिए रखने के लिए, मैं सिर्फ XTerm / Xnerm ​​टर्मिनल / कंसोल / mrxvt / etc / आदि के लिए स्टैंड-इन के रूप में xterm कहने जा रहा हूं।

कंसोल कई अन्य विशिष्ट अर्थ हैं, इसलिए इसे अभी छोड़ दें।

टर्मिनल: कुछ ऐसा जो एएससीआईआई / यूटीएफ 8 / अन्य पात्रों की बिडरेक्शनल स्ट्रीम के माध्यम से कार्यक्रमों के साथ मानव संपर्क प्रदान करता है, आमतौर पर वीटी 100 या इसी तरह के एस्केप कोड प्रोसेसिंग के साथ। (जैसे बैकस्पेस, डिलीट, तीर कुंजियां इत्यादि से बचने वाले कोड उत्पन्न होते हैं। प्रोग्राम टर्मिनल स्क्रीन के चारों ओर कर्सर को स्थानांतरित करने के लिए एस्केप कोड प्रिंट कर सकते हैं, बोल्ड टेक्स्ट पर स्विच कर सकते हैं, और / या रंग, स्क्रीन साफ़ या स्क्रॉल कर सकते हैं आदि) पुराने दिन, यह अक्सर एक स्क्रीन और कीबोर्ड और एक धारावाहिक बंदरगाह के साथ एक समर्पित उपकरण था। अब, यह आमतौर पर xterm जैसे एक कार्यक्रम है।

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

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

हालांकि टर्मिनल उपकरणों के पीछे बहुत सारे कर्नेल कोड हैं, फिर भी टर्मिनल-हैंडलिंग कोड के रूप में इसे टर्मिनल के रूप में नहीं दिया जाएगा।

संपादित करें: गिल्स ने मुझे विश्वास दिलाया है कि एक टर्मिनल के रूप में एक tty का जिक्र उचित उपयोग है। टर्मिनल एमुलेटर, और टर्मिनल से जुड़े इंटरैक्टिव प्रोग्राम, कर्नेल द्वारा कार्यान्वित टर्मिनल सेमेन्टिक्स पर निर्भर हैं। (इस व्यवहार का अधिकांश पॉज़िक्स द्वारा मानकीकृत है, और यह लिनक्स / * बीएसडी / अन्य यूनिक्स में समान है।) एक पूर्ण-स्क्रीन टेक्स्ट संपादक यूनिक्स टीटी सामान के साथ-साथ कर्सर-मूवमेंट एस्केप-कोड हैंडलिंग के व्यवहार पर निर्भर करता है, और टर्मिनल एमुलेटर की कई अन्य विशेषताएं।

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

कमांड लाइन उपयोगकर्ता इंटरफ़ेस की एक शैली है, जहां आप कुछ टाइप करते हैं, फिर कुछ करने के लिए वापसी दबाएं। इसे कमांड लाइन शेल के लिए शॉर्टेंड के रूप में भी प्रयोग किया जाता है, जैसे बैश या एमएस-डॉस, लेकिन आप यह भी कह सकते हैं कि "यह एक कमांड लाइन टूल है" जैसे कि fdisk। केवल उन कार्यक्रमों को ध्यान में रखते हुए जो उनके यूआई के लिए टर्मिनल का उपयोग करते हैं, दो मुख्य परिवार कमांड लाइन और पूर्ण-स्क्रीन टेक्स्ट होते हैं (उदा। वीआई जैसे संपादक या emacs -nw)।

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

खोल अन्य कार्यक्रम शुरू करने के लिए एक कार्यक्रम है। यूनिक्स संदर्भ में, कमांड लाइन खोल (यानी बोर्न शैल या सी शैल समकक्ष) का मतलब सामान्य है। यूनिक्स शैल फाइलों से इनपुट इनपुट भी पढ़ सकते हैं, यानी शैल स्क्रिप्ट्स। वे पूर्ण प्रोग्रामिंग भाषाएं हैं, चर, लूप और सशर्त के साथ, और कई प्रोग्राम बाश में लिखे गए हैं (या केवल /bin/sh अधिक पोर्टेबिलिटी के लिए, POSIX खोल सुविधाओं)। एक त्वरित लिखना भी आसानी से संभव है for i in *.something; do some_program "$i";done  एक इंटरेक्टिव खोल में।

इसे सभी को एक साथ रखकर, एक खोल जैसे बैश (या जो भी प्रोग्राम आपने शेल कमांड चलाकर शुरू किया था) से पात्र प्राप्त होंगे /dev/pts/N xterm छद्म टर्मिनल के अपने पक्ष में अपना इनपुट लिखने के बाद टर्मिनल डिवाइस। यदि आप भागते हैं cat, फिर मारा ^c, कर्नेल टीटी कोड पर कार्य करेगा ^c और एक भेजें SIGINT उस टर्मिनल पर अग्रभूमि प्रक्रिया के लिए। (के उपयोग पर ध्यान दें टर्मिनल इस संदर्भ में यूनिक्स टीटीआई का मतलब है, टर्मिनल एमुलेटर या सीरियल पोर्ट तक जुड़ा हुआ कुछ नहीं।) ऐसा इसलिए होता है क्योंकि खोल किसी भी प्रोग्राम को शुरू करने से पहले टर्मिनल को "पकाया" मोड में डाल देता है, जिसका अर्थ है कि कर्नेल कुछ नियंत्रण पर कार्य करता है- दृश्यों। (टीटी कोड के पास अभी भी कुछ कम-एएससीआईआई नियंत्रण कोड, वीटी 100 एस्केप कोडों को संभालने के साथ कुछ लेना देना नहीं है।) यदि xterm के बजाय, आप लिनक्स कंसोल टेक्स्ट टर्मिनल का उपयोग कर रहे हैं, तो कर्नेल VT100 इम्यूलेशन कर रहा है, और उन सभी चीजों को संभालना। लिनक्स वर्चुअल कंसोल टेक्स्ट टर्मिनल समर्थन के बिना संकलित किया जा सकता है, लेकिन बिना tty समर्थन के।

कंसोल कभी-कभी टर्मिनल के समानार्थी के रूप में प्रयोग किया जाता है (केडीई में कंसोल नामक टर्मिनल एमुलेटर भी होता है)।

0xSheepdog बताते हैं, इसका एक और अर्थ भी है: स्थानीय रूप से जुड़े मानव-इंटरैक्शन हार्डवेयर।

कर्नेल संदर्भ में, कंसोल का एक और विशिष्ट अर्थ होता है: यह टर्मिनल है जहां बूट संदेश लिखे जाते हैं। यह एक धारावाहिक बंदरगाह हो सकता है। आम तौर पर, निश्चित रूप से, यह ग्राफिक्स हार्डवेयर और यूएसबी / पीएस 2 / एटी कीबोर्ड के लिए ड्राइवरों के शीर्ष पर कर्नेल द्वारा कार्यान्वित पाठ कंसोल है। यदि आप लिनक्स के साथ बूट करते हैं console=tty0 console=ttyS0,115200n8 कमांड लाइन पर, आपको अपनी स्क्रीन पर और सीरियल पोर्ट पर कर्नेल संदेश मिलेंगे।

लिनक्स आभासी कंसोल लागू करता है (/dev/tty1 सेवा मेरे एन)। आप स्वैप कर सकते हैं कि आपकी भौतिक स्क्रीन / कीबोर्ड किसके साथ नियंत्रण कर रहा है Ctrl+ऑल्ट+एफएन। विशिष्ट लिनक्स distros 6 बनाते हैं, और शुरू करते हैं getty उन सभी पर, भले ही आप X11 शुरू नहीं करना चाहते हैं या नहीं, आप स्क्रीन पर प्रोग्राम चलाने के बिना 6 बार लॉग इन कर सकते हैं और एक कमांड, एक मैन पेज और अन्य चीज़ों के बीच फ्लिप कर सकते हैं। लिनक्स (कर्नेल) में वर्चुअल कंसोल पर आपकी स्क्रीन और कीबोर्ड के माध्यम से टर्मिनल इंटरफ़ेस प्रदान करने के लिए एक VT100-style टर्मिनल एमुलेटर शामिल है।

लॉगिन संकेतों के साथ मानक 6 आभासी टर्मिनल क्यों है Ctrl+ऑल्ट+F7 आपको अपने एक्स 11 सत्र में वापस ले जाता है: एक्स सर्वर अगले उपलब्ध वर्चुअल कंसोल को पकड़ता है। (एक्स सर्वर खुलता है /dev/input/... सीधे, अपने कीप्रेस से प्राप्त करने के बजाय /dev/tty7, हालांकि।)

तो "एक पाठ कंसोल पर स्वैप करें" का मतलब है दबाएं Ctrl+ऑल्ट+एफ 1 और उस टर्मिनल का उपयोग करें। वापस जब कंप्यूटर धीमे थे और उनके पास बहुत अधिक रैम नहीं था, कुछ लोगों ने अपना अधिकांश समय टेक्स्ट कंसोल पर बिताया, क्योंकि वे तेज़ थे, आप एक अच्छा फ़ॉन्ट सेट कर सकते थे, और टर्मिनल आकार को छोटे अक्षर रखने के लिए भी बदल सकते थे, लेकिन एक बार स्क्रीन पर अधिक। ऑल्ट+बाएं तथा ऑल्ट+सही पिछला / अगला कंसोल पर स्वैप करें। (एक्स 11 इसे अपने कंसोल के लिए अक्षम करता है, बेशक, केवल छोड़कर Ctrl+ऑल्ट+एफएन कॉम्बो।)

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


7
2017-08-05 09:16



कंसोल जिसका अर्थ है "मुख्य" भौतिक टर्मिनल न केवल कर्नेल संदर्भ में है। यह ऐसा ही है अर्थ में /dev/console। कंसोल विशेष रूप से संदिग्ध नहीं है - हालांकि इसे कभी-कभी अधिक सामान्य अर्थ में उपयोग किया जाता है टर्मिनल, यह बहुत दुर्लभ है (दुर्लभ से टर्मिनल विशेष रूप से कंसोल का मतलब है)। - Gilles
ठीक है, हाँ, echo foo | sudo tee / dev / console> / dev / null स्क्रीन पर प्रिंट करेगा, यदि आपका वर्तमान वीटी टेक्स्ट मोड में है (फ्रेमबफर कंसोल सहित, केवल शाब्दिक रूप से वीजीए टेक्स्टमोड नहीं)। यदि आप एक सीरियल पोर्ट पर कंसोल के साथ बूट करते हैं, तो मुझे लगता है कि यह वहां जाएगा। आप कह सकते हैं कि कर्नेल जो भी कर्नेल सिस्टम कंसोल के रूप में इलाज कर रहा है, उसके लिए डिवाइस फ़ाइल / dev / console। सिस्टम में और कुछ भी कंसोल टीटीई होने की धारणा की आवश्यकता नहीं है (बूट-वसूली सामग्री को छोड़कर जो कंसोल टीटीवी पर एक खोल शुरू करता है अगर सिस्टम बहु-उपयोगकर्ता मोड में बूट करने में विफल रहता है। आमतौर पर initrd से) - Peter Cordes
Xorg एक्स सर्वर (तार / usr / bin / Xorg) हार्डवेयर पहुंच प्राप्त करने के लिए / dev / console का उपयोग नहीं करता है। यह अपने स्वयं के वीटी पर सेट अप करने के लिए / dev / tty0, और / dev / tty% d, और / dev / vc /% d का उपयोग करता है। मुझे पूरा यकीन है कि ज़ोरग अभी भी एक पीसी पर ठीक चलेंगे जो एक सीरियल पोर्ट पर कर्नेल कंसोल के साथ बूट किया गया है। और यह कि टेक्स्ट मोड वर्चुअल टर्मिनल अभी भी काम करेगा। जितना अधिक मैं इसे मानता हूं, उतना ही मैं कर्नेल संदर्भ में कंसोल को देखने के लिए झुका रहा हूं, बस बूट समय पर चयनित एक विशेष टर्मिनल के रूप में। (यदि आप इसे पूछते हैं तो लिनक्स वास्तव में कई टर्मिनलों पर अपने कंसोल संदेशों को आउटपुट कर सकता है।) - Peter Cordes


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

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

जाहिर है, प्रौद्योगिकी के परिवर्तन के रूप में समय के साथ इन मूल भेदों को धुंधला हो गया है।


5
2017-08-04 22:35





उपयोगकर्ता केंद्रित लघु उत्तर की कोशिश कर रहा है:

कमांड लाइन - वह लाइन जहां आप कमांड दर्ज करते हैं। आमतौर पर यह बताने के लिए प्रयोग किया जाता है कि आपको अपने ऑपरेटिंग सिस्टम द्वारा प्रदान की गई टेक्स्ट मोड विंडो (कमांड लाइन इंटरफ़ेस) में कुछ चलाने की आवश्यकता है।

खोल - आपके द्वारा दर्ज की जाने वाली सामग्री को संसाधित करने के लिए ऑपरेटिंग सिस्टम द्वारा संचालित वास्तविक प्रोग्राम command line। इसलिए गैर-अनुकूल ओएस कोर के लिए नाम - उपयोगकर्ता के अनुकूल खोल। यह कमांड प्रॉम्प्ट प्रदान करता है, जैसे कि $ या >, अपने स्वयं के आदेश और ऐप्स चलाता है। आप हमेशा के माध्यम से काम करते हैं shell कार्यक्रम और सीधे कंसोल या टर्मिनल के साथ काम नहीं करते हैं।

कंसोल - एक खिड़की है जहां आपके टेक्स्ट मोड प्रोग्राम चल रहे हैं। यह विंडो कुंजी प्रेस को संसाधित करती है, जानता है कि यह चौड़ाई और ऊंचाई है। पूर्णस्क्रीन हो सकता है।

टर्मिनल - कुछ डिवाइस ऐसे मनुष्यों के लिए प्रदर्शित होते हैं जो वर्णों की इनपुट स्ट्रीम स्वीकार करते हैं और उन्हें दिखाते हैं। ऊंचाई या चौड़ाई (केवल हैक्स) या कीबोर्ड कीप्रेस के बारे में उपयोगकर्ता को कोई प्रतिक्रिया नहीं है - केवल वर्ण ही यात्रा कर रहे हैं। टर्मिनल प्रक्रियाओं को रंगीन बनाने, स्क्रीन को साफ करने और अन्य गंदे चीजों को करने के लिए इस धारा में विशेष अनुक्रमों को संसाधित करता है। टर्मिनल flaky हैं, क्योंकि यह गड़बड़ चीजों के लिए आसान है अगर आप आउटपुट करने के लिए पाइपिंग फ़ाइल है कि विशेष अनुक्रम। वे नेटवर्किंग और डिवाइस डीबग इंटरफेस में लोकप्रिय हैं, क्योंकि आउटपुट डिवाइस को आउटपुट और नियंत्रित करने के लिए आपको केवल एक स्ट्रीम की आवश्यकता है और आप बस tap विंडो शुरू करने या बनाने की आवश्यकता के बिना वार्तालाप में।

सीरियल कंसोल - एक कंसोल है जो एक टर्मिनल जैसे इनपुट स्ट्रीम को संसाधित करता है।


3
2017-10-24 10:42