Kommandozeile: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „== Syntax ==“ durch „== Aufruf ==“
 
(19 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''topic''' - Kurzbeschreibung
'''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.&nbsp;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 ==
== Syntax ==
== Aufruf ==
=== Optionen ===
=== Optionen ===
=== Parameter ===
=== Parameter ===
=== Umgebungsvariablen ===
=== Umgebung ===
=== Exit-Status ===
=== Rückgabewert ===
== Anwendungen ==
== Anwendungen ==
=== Fehlerbehebung ===
== Konfiguration ==
=== Dateien ===
== Sicherheit ==
== Siehe auch ==
=== Unterseiten ===
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
=== Dokumentation ===
==== RFC ====
==== Man-Pages ====
==== Info-Pages ====
=== Links ===
==== Einzelnachweise ====
<references />
==== Projekt ====
==== Weblinks ====
* [https://encodingwissen.de/codecs/interfacetypen/#cli Konventionen für Aufrufsyntax]
* Wiktionary|prompt
* Wikibooks|Batch-Programmierung: Wichtige DOS-Kommandos|Wichtige DOS-Kommandos
== Testfragen ==
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 1''
<div class="mw-collapsible-content">'''Antwort1'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 2''
<div class="mw-collapsible-content">'''Antwort2'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 3''
<div class="mw-collapsible-content">'''Antwort3'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 4''
<div class="mw-collapsible-content">'''Antwort4'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 5''
<div class="mw-collapsible-content">'''Antwort5'''</div>
</div>
= TMP =
== Anwendung ==
== Anwendungsbeispiele ==
=== Betriebssysteme ===
=== Betriebssysteme ===
Kommandozeilen waren historisch die ersten Methoden zur Interaktion mit Betriebssystemen.<ref name="Kumar-HCI" /> Sie finden sich daher auch auf [[Terminal (Computer)|Terminals]] oder [[Terminalemulation]]en.  
Kommandozeilen waren historisch die ersten Methoden zur Interaktion mit Betriebssystemen.<ref name="Kumar-HCI" /> Sie finden sich daher auch auf [[Terminal (Computer)|Terminals]] oder [[Terminalemulation]]en.  
Zeile 112: 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.&nbsp;B.&nbsp;<code>öffne tür</code>, <code>norden</code>, <code>nimm fackel</code>.


<!--
<!--
Zeile 135: 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.&nbsp;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 159: 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.


=== {{Anker|Unix}}Eingabeaufforderung unter Unix-Systemen ===
=== 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 166: 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.&nbsp;B.&nbsp;<code>[[Root-Account|root]]@saturn:/etc#</code>, als normaler Anwender (z.&nbsp;B.&nbsp;„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.&nbsp;<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 266: Zeile 221:
* Vorher war das Einfügen von der [[Zwischenablage]] nur mit einem „Rechtsklick“ → „Einfügen“ oder der Tastenkombination {{Taste|Shift}}+{{Taste|Einfg}} möglich.
* Vorher war das Einfügen von der [[Zwischenablage]] nur mit einem „Rechtsklick“ → „Einfügen“ oder der Tastenkombination {{Taste|Shift}}+{{Taste|Einfg}} möglich.
  -->
  -->
=== Problembehebung ===


== Konfiguration ==
== Konfiguration ==
=== Dateien ===
=== Dateien ===
== Sicherheit ==
== Sicherheit ==
== Dokumentation ==
=== RFC ===
=== Man-Pages ===
=== Info-Pages ===
== Siehe auch ==
== Siehe auch ==
== Links ==
 
=== Projekt ===
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
=== Weblinks ===
=== Dokumentation ===
==== RFC ====
==== Man-Page ====
==== Info-Pages ====
=== Links ===
==== Projekt ====
==== Weblinks ====
* [https://encodingwissen.de/codecs/interfacetypen/#cli Konventionen für Aufrufsyntax]
* Wiktionary|prompt
* Wikibooks|Batch-Programmierung: Wichtige DOS-Kommandos|Wichtige DOS-Kommandos
 
 
[[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.

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 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).

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