Wikipedia · einfach zusammengefasst · Stand
Befehl (Computer)
Ein Befehl oder Kommando (von lateinisch commendare ‚befehlen') ist ein definierter Einzelschritt, der von einem Computer ausgeführt werden kann.
Inhalt5 Abschnitte
Grundbegriff und Zusammenhang mit Algorithmen
Ein Befehl oder Kommando ist ein definierter Einzelschritt, den ein Computer ausführen kann. Befehle können unterschiedlich mächtig sein: Ein mächtiger Befehl kann zur Ausführung mehrere einfachere Befehle verwenden.
Ein Algorithmus ist eine vollständige und eindeutige Beschreibung eines Arbeitsvorgangs, der eine definierte Aufgabe in einer endlichen Anzahl von Einzelschritten löst. Soll ein Algorithmus maschinell ausgeführt werden, muss er in Schritte zerlegt sein, die der Computer versteht. Jeder dieser Schritte ist ein Befehl oder Kommando.
Befehlsarten und Ausführung
Befehle folgen einer festgelegten Syntax, also Regeln für ihren Aufbau. Manche Befehle stehen allein, andere besitzen Parameter beziehungsweise Kommandozeilenparameter, die ihre Wirkung genauer bestimmen. Bei der Mensch-Computer-Interaktion wird ein eingegebener Befehl meist durch Betätigung der Eingabetaste gestartet.
Wichtige Arten sind:
• Ein Maschinenbefehl oder Opcode kann von einem Computer direkt ausgeführt werden. Abhängig vom Aufbau des Prozessors kann er sich wiederum auf Mikrobefehle stützen.
• Eine Anweisung oder Instruktion ist ein Befehl in einer Programmiersprache. Solche Programmierbefehle werden normalerweise nicht sofort ausgeführt.
• Kommandozeileninterpreter und Betriebssystem-Shells sind Benutzerschnittstellen, über die Kommandos eingegeben und ausgeführt werden. Eine Shell ist ein Programm, das diese Eingaben verarbeitet. Sie unterscheidet interne Kommandos, die sie selbst ausführt, und externe Kommandos, die als eigene Kommandozeilen- oder Systemprogramme vorliegen. Stapelverarbeitungsdateien und Shellskripte ermöglichen die Automatisierung mehrerer Befehle.
• In Anwendungssoftware können Befehle eingebettet sein, etwa als Formeln und Funktionen einer Tabellenkalkulation. Teilweise wird zwischen Kommando und Anweisung unterschieden: Ein Kommando wird beispielsweise auf einer Kommandozeile sofort ausgeführt. Zur Automatisierung können unter anderem Makros dienen.
Programme, Shells und Kommandosprachen
Auf Betriebssystemen werden Computerprogramme an einem Computerterminal oder in einer Shell durch Kommandos gestartet. Das verwendete Kommando entspricht dabei dem Namen des Programms, genauer dem Namen seiner Programmdatei.
Einige Betriebssysteme stellen eine eigene Kommandosprache über einen primären Kommandointerpreter, die Shell, bereit. In einem Kommandozeileninterpreter, englisch Command-Line Interpreter (CLI), können Befehle unmittelbar ausgeführt werden. Häufig enthält er zusätzlich eine mehr oder weniger mächtige Interpretersprache. Beispiele sind die Unix-Shell unter Unix und Unix-artigen Betriebssystemen sowie die Eingabeaufforderung der Windows-Betriebssysteme von Microsoft.
Historisch waren Kommandosprachen die einzige Möglichkeit der Mensch-Maschine-Interaktion und deshalb die primäre oder meist einzige Shell des Betriebssystems. In modernen grafischen Benutzeroberflächen, englisch Graphical User Interface (GUI), laufen Kommandointerpreter gewöhnlich in einer Terminalemulation. Sie sind dort optional und je nach System nicht mehr die primäre Shell.
Aufbau und Automatisierung von Kommandos
Trotz systemspezifischer Unterschiede folgen viele Kommandosprachen dem Grundmuster „Verb Parameter ...“. Das Kommando wird dabei häufig als Verb bezeichnet. Seine Parameter können beispielsweise Namen einer oder mehrerer Dateien sein. Dabei sind auch Wildcards möglich, also Platzhalter für mehrere passende Dateinamen. Andere Kommandozeilenparameter werden meist durch ein vorangestelltes Sonderzeichen markiert. Unter DOS geben üblicherweise /h oder /? einen Hilfetext aus; unter Unix sind dafür --help oder -h gebräuchlich.
Die meisten Kommandointerpreter unterstützen außerdem Umgebungsvariablen und einen Stapelbetrieb. Umgebungsvariablen speichern Werte, die Programme und Befehle verwenden können. Beim Stapelbetrieb werden die Kommandos nicht einzeln interaktiv eingegeben, sondern aus einer Datei gelesen und nacheinander ausgeführt. Solche Dateien heißen unter DOS unter anderem Stapelverarbeitungsdateien und unter Unix üblicherweise Shellskripte.
Interne und externe Kommandos
Interne Kommandos führt die jeweilige Shell direkt als Interpreter aus. Externe Kommandos sind dagegen separate Kommandozeilenprogramme, die nur bei Bedarf geladen werden. Welche Form sinnvoll ist, hängt unter anderem davon ab, ob ein Kommando die Umgebung des Kommandointerpreters selbst verändert.
Die Shell muss beispielsweise ihr aktuelles Arbeitsverzeichnis kennen. Deshalb muss der Befehl cd, kurz für englisch change directory, zum Wechsel des Arbeitsverzeichnisses als internes Kommando ausgeführt werden.
Bei anderen Aufgaben unterscheiden sich die Systeme. Zur Ausgabe einer Dateiliste ist ls unter Unix traditionell ein externes Kommando. In BusyBox liegt es als Applet vor: Es bleibt ein externes Kommando, wird technisch aber ähnlich wie ein internes ausgeführt. Unter DOS ist der entsprechende Befehl dir intern.
Auch beim Kopieren von Dateien zeigt sich der Unterschied: Das DOS-Kommando copy ist ein interner Befehl von COMMAND.COM. Das mächtigere xcopy wird seit PC DOS 3.2 beziehungsweise MS-DOS 3.3 als externes Kommando mitgeliefert. Weil der Konventionelle Speicher unter DOS begrenzt ist, wird das größere XCOPY nur bei Bedarf in den Arbeitsspeicher geladen.