Kommandozeile: Unterschied zwischen den Versionen
K Textersetzung - „== Syntax ==“ durch „== Aufruf ==“ |
|||
(16 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''topic''' - | '''topic''' - Beschreibung | ||
== Beschreibung == | == Beschreibung == | ||
Die '''Kommandozeile''' oder '''Befehlszeile''' ist ein Teil eines [[Computerprogramm]]s, das eine Textzeile als Eingabe vom [[Benutzer]] entgegennimmt und im Kontext als [[Kommando (Computer)|Kommando]] [[Interpreter|interpretiert]].<ref name="Kumar-HCI">{{Literatur |Autor=Rajendra Kumar |Titel=Human Computer Interaction |Verlag=Firewall Media |Ort=Lucknow |Datum=2005 |Sprache=en |ISBN=978-81-7008-795-3 |Online={{Google Buch |BuchID=lesSGjUsgTkC |Seite=42}} }}</ref> Im [[Englische Sprache|Englischen]] wird sie als '''{{lang|en|command-line}}''' oder ''{{lang|en|command prompt}}'' (Eingabeaufforderung) bezeichnet, denn sehr oft wird ein [[Prompt]] zur Kennzeichnung verwendet. | Die '''Kommandozeile''' oder '''Befehlszeile''' ist ein Teil eines [[Computerprogramm]]s, das eine Textzeile als Eingabe vom [[Benutzer]] entgegennimmt und im Kontext als [[Kommando (Computer)|Kommando]] [[Interpreter|interpretiert]].<ref name="Kumar-HCI">{{Literatur |Autor=Rajendra Kumar |Titel=Human Computer Interaction |Verlag=Firewall Media |Ort=Lucknow |Datum=2005 |Sprache=en |ISBN=978-81-7008-795-3 |Online={{Google Buch |BuchID=lesSGjUsgTkC |Seite=42}} }}</ref> Im [[Englische Sprache|Englischen]] wird sie als '''{{lang|en|command-line}}''' oder ''{{lang|en|command prompt}}'' (Eingabeaufforderung) bezeichnet, denn sehr oft wird ein [[Prompt]] zur Kennzeichnung verwendet. | ||
Zeile 16: | Zeile 16: | ||
* Es gibt auch mehrzeilige Kommandos und Kommandoblöcke (die sich über mehrere Zeilen erstrecken), etwa bei [[Schleife (Programmierung)|Schleifen]]. | * Es gibt auch mehrzeilige Kommandos und Kommandoblöcke (die sich über mehrere Zeilen erstrecken), etwa bei [[Schleife (Programmierung)|Schleifen]]. | ||
Zur Kennzeichnung, dass bzw. wo ein Kommando eingegeben werden kann, signalisiert ein ''{{lang|en|command prompt}}'', dass das Programm auf eine Eingabe wartet oder dafür bereit ist. | Zur Kennzeichnung, dass bzw. wo ein Kommando eingegeben werden kann, signalisiert ein ''{{lang|en|command prompt}}'', dass das Programm auf eine Eingabe wartet oder dafür bereit ist. | ||
* Der [[Prompt]] signalisiert damit dem Benutzer, dass der Computer oder das Programm bereit ist und auf eine Eingabe wartet, ansonsten jedoch untätig ist ([[idle]]). | * Der [[Prompt]] signalisiert damit dem Benutzer, dass der Computer oder das Programm bereit ist und auf eine Eingabe wartet, ansonsten jedoch untätig ist ([[idle]]). | ||
* Umgekehrt ist bei vielen Kommandozeilen der Prompt während der Ausführung eines Kommandos nicht verfügbar und signalisiert somit das Gegenteil, also dass zu diesem Zeitpunkt kein Kommando ausgeführt werden kann. | * Umgekehrt ist bei vielen Kommandozeilen der Prompt während der Ausführung eines Kommandos nicht verfügbar und signalisiert somit das Gegenteil, also dass zu diesem Zeitpunkt kein Kommando ausgeführt werden kann. | ||
Zeile 27: | Zeile 27: | ||
== Installation == | == Installation == | ||
== | == Aufruf == | ||
=== Optionen === | === Optionen === | ||
=== Parameter === | === Parameter === | ||
=== | === Umgebung === | ||
=== | === Rückgabewert === | ||
== Anwendungen == | == Anwendungen == | ||
=== Betriebssysteme === | === Betriebssysteme === | ||
Zeile 67: | Zeile 67: | ||
Bei [[Textadventure]]s ist die Kommandozeile die alleinige Schnittstelle zwischen Spieler und Spiel. | Bei [[Textadventure]]s ist die Kommandozeile die alleinige Schnittstelle zwischen Spieler und Spiel. | ||
* Um sich im Spiel zu bewegen und Aktionen auszulösen, müssen entsprechende Befehle eingegeben werden, wie z. B. <code>öffne tür</code>, <code>norden</code>, <code>nimm fackel</code>. | * Um sich im Spiel zu bewegen und Aktionen auszulösen, müssen entsprechende Befehle eingegeben werden, wie z. B. <code>öffne tür</code>, <code>norden</code>, <code>nimm fackel</code>. | ||
<!-- | <!-- | ||
Zeile 90: | Zeile 90: | ||
Üblicherweise zeigt der Prompt zusätzlich diverse [[Information]]en an, zum Beispiel den Namen des aktuellen [[Benutzer]]s oder in welchem [[Verzeichnis]] man sich befindet. | Üblicherweise zeigt der Prompt zusätzlich diverse [[Information]]en an, zum Beispiel den Namen des aktuellen [[Benutzer]]s oder in welchem [[Verzeichnis]] man sich befindet. | ||
* Ist die Eingabeaufforderung zu sehen, sollte eine Eingabe in den Kommandozeileninterpreter möglich sein. | * Ist die Eingabeaufforderung zu sehen, sollte eine Eingabe in den Kommandozeileninterpreter möglich sein. | ||
* Führt der Rechner einen Befehl bzw. ein Computerprogramm aus, dann erscheint die Eingabeaufforderung des Kommandozeileninterpreters erst wieder, wenn dieses Programm beendet ist (oder das Programm im Hintergrund weiter ausgeführt wird). | * Führt der Rechner einen Befehl bzw. ein Computerprogramm aus, dann erscheint die Eingabeaufforderung des Kommandozeileninterpreters erst wieder, wenn dieses Programm beendet ist (oder das Programm im Hintergrund weiter ausgeführt wird). | ||
=== Eingabeaufforderung unter Microsoft-Betriebssystemen === | === Eingabeaufforderung unter Microsoft-Betriebssystemen === | ||
Zeile 114: | Zeile 114: | ||
* Statt des DOS-[[Kommandozeileninterpreter]]s [[COMMAND.COM]] benutzen die nicht mehr auf DOS basierenden Windows-NT-Systeme außerdem die Neuentwicklung [[cmd.exe]], die zwar eine weitgehend zu COMMAND.COM kompatible, aber nicht die gleiche Oberfläche bereitstellt. | * Statt des DOS-[[Kommandozeileninterpreter]]s [[COMMAND.COM]] benutzen die nicht mehr auf DOS basierenden Windows-NT-Systeme außerdem die Neuentwicklung [[cmd.exe]], die zwar eine weitgehend zu COMMAND.COM kompatible, aber nicht die gleiche Oberfläche bereitstellt. | ||
=== | === Eingabeaufforderung unter Unix-Systemen === | ||
[[Datei:Ubuntu-lucid-bash.png|mini|Die bash-Shell unter [[Ubuntu]] 10.04]] | [[Datei:Ubuntu-lucid-bash.png|mini|Die bash-Shell unter [[Ubuntu]] 10.04]] | ||
Beispiel: | Beispiel: | ||
Zeile 121: | Zeile 121: | ||
Die Eingabeaufforderung zeigt zum Beispiel den Benutzernamen (hier: „michael“) und den Hostnamen (hier: „saturn“) an. | Die Eingabeaufforderung zeigt zum Beispiel den Benutzernamen (hier: „michael“) und den Hostnamen (hier: „saturn“) an. | ||
* Die [[Tilde]] („~“) zeigt dabei das [[Benutzerverzeichnis|Heimatverzeichnis]] des Benutzers an. | * Die [[Tilde]] („~“) zeigt dabei das [[Benutzerverzeichnis|Heimatverzeichnis]] des Benutzers an. | ||
* Als Konvention hat sich unter vielen [[Unix]]- und [[Linux]]-Varianten etabliert, in der Eingabeaufforderung des Systemadministrators ein <code>#</code> zu verwenden, also z.B. <code>[[Root-Account|root]]@saturn:/etc#</code>, als normaler Anwender (z.B. „johanna“) verwendet man ein <code>$</code>, also etwa <code>johanna@saturn:/etc$</code>. | * Als Konvention hat sich unter vielen [[Unix]]- und [[Linux]]-Varianten etabliert, in der Eingabeaufforderung des Systemadministrators ein <code>#</code> zu verwenden, also z. B. <code>[[Root-Account|root]]@saturn:/etc#</code>, als normaler Anwender (z. B. „johanna“) verwendet man ein <code>$</code>, also etwa <code>johanna@saturn:/etc$</code>. | ||
Das Ändern der Eingabeaufforderung ist abhängig vom verwendeten Kommandozeileninterpreter: In der [[tcsh]] dient dazu das Kommando <kbd>set prompt</kbd>. | Das Ändern der Eingabeaufforderung ist abhängig vom verwendeten Kommandozeileninterpreter: In der [[tcsh]] dient dazu das Kommando <kbd>set prompt</kbd>. | ||
* In der [[Bourne-again shell|bash]] setzt man die Eingabeaufforderung, indem man die Kommandozeileninterpretervariable <code>PS1</code> (bzw. <code>PS2, PS3, PS4</code>) beispielsweise folgendermaßen setzt: <code>PS1="\u@\h\w\$"</code>. | * In der [[Bourne-again shell|bash]] setzt man die Eingabeaufforderung, indem man die Kommandozeileninterpretervariable <code>PS1</code> (bzw. <code>PS2, PS3, PS4</code>) beispielsweise folgendermaßen setzt: <code>PS1="\u@\h\w\$"</code>. | ||
* Diese Eingabeaufforderung zeigt den Benutzernamen (<code>\u</code>), den Hostnamen (<code>\h</code>) und das aktuelle Arbeitsverzeichnis (<code>\w</code>) an. | * Diese Eingabeaufforderung zeigt den Benutzernamen (<code>\u</code>), den Hostnamen (<code>\h</code>) und das aktuelle Arbeitsverzeichnis (<code>\w</code>) an. | ||
* Die [[manpage]] des Kommandozeileninterpreters erklärt weitere Möglichkeiten. | * Die [[manpage]] des Kommandozeileninterpreters erklärt weitere Möglichkeiten. | ||
Zeile 222: | Zeile 222: | ||
--> | --> | ||
=== | === Problembehebung === | ||
== Konfiguration == | == Konfiguration == | ||
Zeile 228: | Zeile 228: | ||
== Sicherheit == | == Sicherheit == | ||
== Siehe auch == | == Siehe auch == | ||
{{Special:PrefixIndex/{{BASEPAGENAME}}}} | {{Special:PrefixIndex/{{BASEPAGENAME}}}} | ||
=== Dokumentation === | === Dokumentation === | ||
==== RFC ==== | ==== RFC ==== | ||
==== Man- | ==== Man-Page ==== | ||
==== Info-Pages ==== | ==== Info-Pages ==== | ||
=== Links === | === Links === | ||
==== Projekt ==== | ==== Projekt ==== | ||
==== Weblinks ==== | ==== Weblinks ==== | ||
Zeile 243: | Zeile 241: | ||
* Wikibooks|Batch-Programmierung: Wichtige DOS-Kommandos|Wichtige DOS-Kommandos | * Wikibooks|Batch-Programmierung: Wichtige DOS-Kommandos|Wichtige DOS-Kommandos | ||
[[Kategorie:Benutzerschnittstelle]] | [[Kategorie:Benutzerschnittstelle]] |
Aktuelle Version vom 12. November 2024, 18:48 Uhr
topic - Beschreibung
Beschreibung
Die Kommandozeile oder Befehlszeile ist ein Teil eines Computerprogramms, das eine Textzeile als Eingabe vom Benutzer entgegennimmt und im Kontext als Kommando interpretiert.[1] Im Englischen wird sie als Vorlage:Lang oder Vorlage:Lang (Eingabeaufforderung) bezeichnet, denn sehr oft wird ein Prompt zur Kennzeichnung verwendet.
Die englische Bezeichnung Vorlage:Lang, kurz CLI, bezeichnet die Verwendung von Kommandozeilen für die Interaktion mit einem Benutzer.
- CLI wird als das Gegenteil und der historische Vorläufer des Vorlage:Lang, kurz GUI, angesehen, obwohl es auch unter grafischen Benutzeroberflächen Kommandozeilen gibt.
Ein command line interface (CLI) ist die einfachste Methode zur Interaktion eines Menschen (Human) mit einem Computer, und somit eine Möglichkeit der Mensch-Computer-Interaktion, ' (HCI).[1] Dabei werden dem Computer Textzeilen entweder direkt über die Tastatur oder in Form eines Scripts übergeben, die dieser anschließend ausführt.
Technik
Die Eingabe folgt einer Syntax, die meist aus einem Kommando und dazugehörigen Parametern besteht.
- Die Kommandos oder Befehle werden als Zeichenketten über die Tastatur eingegeben. Üblicherweise sind diese dem Englischen entnommen, teilweise als Abkürzung wie etwa bei CP/M und PC-kompatiblem DOS der Befehl
dir
für Vorlage:Lang oder bei Unix-Systemen der Befehlls
für Vorlage:Lang. - Selten wurden die Befehle auch ins Deutsche übersetzt, etwa bei QBasic (das u.a. mit MS-DOS 5.0 bis 6.22 ausgeliefert wurde).
Die Kommandos werden dabei von einem Interpreter ausgeführt, wobei jedes Kommando unterschiedliche Parameter entgegennehmen kann, die die Ausführung beeinflussen.
- Es gibt auch mehrzeilige Kommandos und Kommandoblöcke (die sich über mehrere Zeilen erstrecken), etwa bei Schleifen.
Zur Kennzeichnung, dass bzw. wo ein Kommando eingegeben werden kann, signalisiert ein Vorlage:Lang, dass das Programm auf eine Eingabe wartet oder dafür bereit ist.
- Der Prompt signalisiert damit dem Benutzer, dass der Computer oder das Programm bereit ist und auf eine Eingabe wartet, ansonsten jedoch untätig ist (idle).
- Umgekehrt ist bei vielen Kommandozeilen der Prompt während der Ausführung eines Kommandos nicht verfügbar und signalisiert somit das Gegenteil, also dass zu diesem Zeitpunkt kein Kommando ausgeführt werden kann.
Technisch gesehen ist die Kommandozeile eine durch ein Programm angebotene Eingabezeile, die mit einem gewissen Umfang an Editorfähigkeiten ausgestattet ist.
- Die Eingabe wird mit dem Betätigen einer spezifischen Taste beendet.
- Bei PCs ist dies die Eingabetaste, die das Senden des Carriage-Return- und/oder Linefeed-Zeichens an das Programm bewirkt, das die Eingabezeile geöffnet hat.
- Als Reaktion wird der vom Benutzer eingegebene Kommandozeilentext interpretiert; beispielsweise führt ein Kommandozeileninterpreter bei fehlerfreier Erkennung der Eingabe die entsprechenden Kommandos aus, die ihre eventuellen Ausgaben direkt anschließend auf den Bildschirm bringen.
- Danach erscheint eine erneute Prompt-Sequenz, die signalisiert, dass die Eingabe einer weiteren Kommandozeile möglich ist.
Installation
Aufruf
Optionen
Parameter
Umgebung
Rückgabewert
Anwendungen
Betriebssysteme
Kommandozeilen waren historisch die ersten Methoden zur Interaktion mit Betriebssystemen.[1] Sie finden sich daher auch auf Terminals oder Terminalemulationen.
- Bei vielen Betriebssystemen wird die Kommandozeile von einer Shell oder einem Kommandozeileninterpreter (auch Befehlsinterpreter) ausgewertet und die entsprechende Funktion ausgeführt.
- Kommandozeilen benötigen lediglich den Textmodus, sind bei modernen Betriebssystemen jedoch auch im Grafikmodus verfügbar, etwa als Terminalemulation.
Die Ausführung der Befehle wird meist direkt aus der Zeile durch zusätzlich angegebene Parameter gesteuert (Kommandozeilenparameter).
- Programme, die den Benutzer interaktiv befragen, sind auf dieser Ebene eher unüblich, aber möglich (im Textmodus beispielsweise über eine zeichenorientierte Benutzerschnittstelle).
- Ein Kommandozeilenprogramm läuft somit typischerweise mit den gegebenen Parametern einmal ab, bevor eine erneute Befehlseingabe möglich ist.
- Ein automatisiertes Abarbeiten mehrerer Kommandos wird auf Unix-artigen Betriebssystemen als Vorlage:Lang bezeichnet.
- Unter CP/M und unter DOS ist die Bezeichnung dafür Stapelverarbeitung (Vorlage:Lang).
- Die Dateien, die die Kommandos enthalten, heißen entsprechend Stapelverarbeitungsdateien.
Interpretersprachen
Bei vielen Skriptsprachen (Skripte verarbeitende Programmiersprachen) gibt es neben dem Skriptmodus (vgl. Shellskript) auch einen interaktiven Modus.
- Wird der Interpreter ohne einen Skript als Eingabe gestartet, so stellt dieser eine Kommandozeile (meist mit Prompt), in der Eingaben unmittelbar Zeile für Zeile verarbeitet werden.
Interpreter mit interaktivem Modus sind z.
Anwendungsprogramme
Einige Anwendungsprogramme bieten Kommandozeilen, teilweise alternativ zu einer grafischen Benutzeroberfläche.
- Bei der mathematischen Software Matlab ist sie beispielsweise ein wichtiger Teil der ansonsten grafischen Oberfläche.
- Auch bei CAD-Programmen wie AutoCAD ist dies der Fall.
- Einige Dateimanager (die de facto zeichenorientierten Benutzerschnittstellen darstellen), beispielsweise der Norton Commander und dessen zahlreiche Clones wie der Midnight Commander, bieten Zugriff auf die Shell, in der sie laufen.
- Auch Debugger bieten häufig eine Kombination von Kommandozeile und anderen Elementen zu ihrer Steuerung an.
- Spezielle Varianten der Kommandozeile sind in FTP-Client-Programmen für den Textmodus zu finden.
- Manche Telnet-Clients bieten neben der eigentlichen Funktionalität zusätzliche eine Kommandozeile zur Steuerung an, die dabei typisch über eine sogenannte Escape-Tastenkombination aufrufbar ist.
Computerspiele
Computerspiele aus dem PC-Bereich, genauergesagt deren zugrundeliegenden Spiel-Engines, bieten oft Kommandozeilen an. Üblicherweise ausgeblendet und für das eigentliche Spielen nicht notwendig, ermöglichen sie eine alternative Konfiguration oder auch tiefgreifendere Beeinflussung des Spiels.
- Sie vereinfacht in der Entwicklung das Testen von Programmcode und lässt gezielt einzelne Zustände zur Fehlersuche erreichen, wie auch die Eingabe von Cheat-Befehlen durch Spieler.
- Ein Beispiel für eine solche Konsole ist die Quake-Engine.
Bei Textadventures ist die Kommandozeile die alleinige Schnittstelle zwischen Spieler und Spiel.
- Um sich im Spiel zu bewegen und Aktionen auszulösen, müssen entsprechende Befehle eingegeben werden, wie z. B.
öffne tür
,norden
,nimm fackel
.
Problembehebung
Konfiguration
Dateien
Sicherheit
Siehe auch
Dokumentation
RFC
Man-Page
Info-Pages
Links
Projekt
Weblinks
- Konventionen für Aufrufsyntax
- Wiktionary|prompt
- Wikibooks|Batch-Programmierung: Wichtige DOS-Kommandos|Wichtige DOS-Kommandos