Terminal Vs. Shell [duplizieren]

Diese Frage hat hier bereits Antworten: Geschlossen vor 10 Jahren.

Mögliches Duplikat:
Was sind die Unterschiede zwischen Shell, Console & Terminal?

Das klingt wahrscheinlich nach einer dummen Frage aber ich habe große Probleme, klar zwischen einer Shell (wie Bourne oder Bash) und der Terminalanwendung in GNOME zu unterscheiden. Mir ist klar, dass beide völlig unterschiedlich sind, aber ich kann anscheinend keine klare Antwort im Text finden. Könnte jemand klar zwischen beiden unterscheiden?

Author: Community, 2011-01-09

4 answers

Das Terminalprogramm ist nur eine grafische Oberfläche für die Shell. Die Shell behandelt tatsächlich Befehle und so weiter; Das Terminalprogramm gibt es nur eine Möglichkeit, mit der grafischen Umgebung zu interagieren.

 15
Author: user55325,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-01-09 17:12:24

Die shell ist ein typisches Unix-Programm. Es liest Befehle von der Standardeingabe und druckt etwas auf der Standardausgabe. Das ist einfach und gut.

Das Problem ist: In einer grafischen Umgebung (wie GNOME oder KDE) kann ein Programm nicht einfach Text direkt auf den Desktop schreiben. Wenn die Programme könnten, würde dies schnell zu einem Chaos und Chaos werden. Daher benötigen Sie ein Programm, das einen Raum bietet, in dem andere Programme ihren Text schreiben können. Dieses Programm akzeptiert auch Tastenanschläge vom Benutzer und konvertiert sie in Bytesequenzen, da dies viele Programme (Befehlszeile, textbasiert, nicht GUI) erwarten. All dies ist die Aufgabe der GNOME Terminal-Anwendung.

Sie haben also die Shell (wahrscheinlich bash), und um sie herum ist das GNOME-Terminal. Um zu sehen, was genau das GNOME-Terminal ausführt, können Sie es ausführen (Alt+F2) gnome-terminal, xterm und rxvt dazwischen und seht, wo sie verschieden sind und was sie gemeinsam haben.

 8
Author: Roland Illig,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-01-09 17:08:29

Ich denke, was Sie wirklich fragen, ist, was ist der Unterschied zwischen der Konsole und einer terminal Anwendung wie xterm?

Wenn die Konsole lokal auf dem Computer ist, kann es nur eine Konsole geben. Die Ausgabe der Konsole ist auf /dev/console gerichtet, was normalerweise Ihren Monitor bedeutet. Ein Terminal hingegen ist wirklich ein Terminalemulator, der auf die Tage zurückgeht, als Mainframes so groß wie ganze Räume waren und Benutzer mit Dummen interagieren mussten Terminals, die mit dem Mainframe verbunden waren. Die Terminals würden Terminalbefehle über eine serielle Leitung an den Mainframe senden, um damit zu interagieren. Heutzutage verwenden wir immer noch Terminals, aber sie werden emuliert, sodass wir mehr als eines verwenden können (jedes ist an einen Pseudo-Tty wie /dev/pts# gebunden) und wir können sie sogar remote verwenden und ihre Verbindung über einen verschlüsselten SSH-Kanal im Internet weiterleiten.

Sowohl die Konsole als auch eine Terminalanwendung rufen Ihre Shell (en) auf. Login.

 1
Author: SiegeX,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-01-09 17:18:11

Das Terminal ist im wesentlichen eine emulierte shell in einem Fenster.

Wenn Sie eine echte Shell ohne Terminal sehen möchten, drücken Sie Strg+Alt+F1 und Strg+Alt+F8, um zur grafischen Oberfläche zurückzukehren.

 -2
Author: digitxp,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-01-09 17:22:51