Unterschied zwischen Shell, Bash, PowerShell, Eingabeaufforderung?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Alles (fast) dasselbe, sofern man es für weniger versierte User stark vereinfacht herunterbrechen möchte. Es handelt sich jeweils um eine Betriebssystem-Shell, in der u.a. mittels Texteingabe Aufgaben gesteuert werden können.

Unter Windows ist CMD die Eingabeaufforderung resp. die Kommandozeile (Command Prompt). Sprich die bzw. eine Betriebssystem-Shell von Windows, in der u.a. DOS-Kommandozeilenbefehle eingegeben werden können. Unter Windows gibt es parallel dazu die PowerShell. Dabei handelt es sich um den Nachfolger von CMD, also dem Windows-Konsolenprogramm. Auf anderen Plattformen ist es ganz ähnlich.

Im Grunde meint Terminal (macOS), Konsole (Linux) oder CMD/PowerShell (Windows) dasselbe. Bei allen handelt es sich um Anwendungen, in denen durch Text- bzw. Befehlseingaben der Computer resp. das Betriebssystem gesteuert werden kann. So gesehen der Gegenpart zu Anwendungen mit GUI, die allein mit der Maus bedient werden können. Kurz und knapp, alles eine Betriebszeilenschnittstelle.

Hier und da gibt es dennoch Unterschiede. Diese alle einzeln aufzudröseln, würde hier aber sicher den Rahmen sprengen. Die Unterschiede liegen vor allem in den Befehlen. Manche Terminals sind vielseitiger, bieten mehr Features und/oder allgemein mehr Möglichkeiten zulassen. Am Ende bleibt es aber dabei, das es "bloß" Betriebszeilenschnittstellen sind, über die der User mit dem Computer durch Eingabe von Befehlen interagieren kann.

Woher ich das weiß:Berufserfahrung – UI/UX Designer, Full-Stack Developer

Shell, Bash etc. ist die Kommandozeile unter Linux und auch eine nicht objektorientierte-Skriptsprache. Wird viel eingesetzt um simple Dinge unter Linux zu automatisieren.

Git-Bash hat nichts mit der bash zu tun und ist soweit ich weiß eine Erweiterung für Windows damit du auch hier Dinge wie git- pull, add, commit, push ausführen kannst. Weiß ich aber auch nicht wirklich drüber Bescheid.

cmd.exe oder auch früher Batch gewesen (heutzutage eig. dasselbe) ist die Kommandoaufforderung (=Eingabeaufforderung) unter Windows denke dir die am besten direkt weg damit arbeitet heutzutage keiner mehr. Es bringt meines Erachtens auch nichts sich damit weiter zu beschäftigen, wenn es nicht zwingend sein muss. Sehr simple Kommando Abfolgen kann man damit vielleicht auch machen. Ansonsten würde ich eher zu PowerShell greifen.

PowerShell ist eine vollwertige objektorientierte Programmiersprache unter Windows bzw. inzwischen auch unter Linux als PowerShell Core. Wenn man irgendwelche Skripte unter Windows machen will die etwas automatisieren sollen, o.Ä, wäre das meine erste Wahl.

Konsole kann alles sein es gibt eine PowerShell Konsole, eine bash Konsole, eine cmd Konsole. Einfach nur ein Begriff für eine Kommandozeile.

Shell ist ein Oberbegriff, dem keine Funktion zugewiesen ist. Er bedeutet tatsächlich Schale, denn die zugehörigen Programme sind schalenartig um einen Kern auch Kernel angeordnet.

Unix und andere unixoide Betriebssysteme wie Linux, SUN-OS, .... kennen mehrere Shells. Das sind die sh, csh, ksh, tclsh und auch die bash.

Deren Befehle können aus einer Datei heraus abgearbeitet werden oder auch manuell durch Eingabe in einem Terminal oder einer Konsole.

Microsoft hat das mehr oder weniger gut nach gemacht und daraus dann Eingabeaufforderung ... gemacht. Dabei kann ich nicht sagen, ob das Fenster zu der Shell gehört oder nicht.

Woher ich das weiß:Berufserfahrung – openSuSE seit 1995

Ich arbeite viel mit der Bash Shell, die Bash Shell ist im Grunde eine verbesserte Bourne Shell mit mehr Funktionen.

Mit Windows habe ich wenig zu tun, daher kenne ich die Feinheiten nicht.