Tastenzauber in der Konsole: Unterschied zwischen den Versionen

Aus Info-Theke
Zur Navigation springen Zur Suche springen
K (1 Version)
Zeile 1: Zeile 1:
[[Kategorie:Tutorials]]
[[Kategorie:Tutorial:Konsole]]
[[Übersicht über das Konsolen-Tutorial]]
[[Übersicht über das Konsolen-Tutorial]]
==Kontextabhängige Ergänzung mittels Tabulator==
==Kontextabhängige Ergänzung mittels Tabulator==

Version vom 10. September 2011, 12:06 Uhr

Übersicht über das Konsolen-Tutorial

Kontextabhängige Ergänzung mittels Tabulator

Eine geniale Vereinfachung ist die Vervollständigung von Eingaben, und zwar kontextabhängig. Das funktioniert zwar nicht immer, aber an den wichtigsten Stellen.

Das Prinzip der Vervollständigung

Wir tippen einen Begriff nur teilweise ein und drücken dann die Tabulator-Taste (kurz TAB genannt). Wenn der Begriff schon eindeutig ist, wird der Rest des Begriffes automatisch ergänzt. Wenn er nicht eindeutig ist, wird der gemeinsame Teil aller möglichen Begriffe ergänzt. Drückt man jetzt nochmal TAB, erscheint eine Auswahl der Begriffe, die in Frage kommen. Normalerweise müssen wir nur einen Buchstaben drücken und erneut TAB eingeben, die nächste Ergänzung erfolgt und so weiter, bis der Begriff vollständig ist.

Beispiel

  • Gegeben seien die Begriffe bild01.png, bild02.png und bilderrahmen.png.
  • Wir geben ein 'B' TAB
  • Die Shell ergänzt Bild. Das ist die Gemeinsamkeit aller Begriffe.
  • Wir drücken TAB.
  • Es werden alle 3 Begriffe ausgegeben: bild01.png, bild02.png und bilderrahmen.png
  • Wir drücken '0', dann TAB
  • Es werden die zwei passenden Begriffe ausgegeben: bild01.png und bild02.png. bilderrahmen.png passt ja wegen der '0' nicht mehr.
  • Wir drücken '1' und TAB
  • Es wird der Rest von bild01.png ergänzt. Die Eingabe war jetzt eindeutig

Demonstration der Kontextabhängigkeit

Die Shell weiß, dass am Anfang einer Eingabe ein Befehl (Programm, Script oder Kommandosprachenelement) kommt. Geben wir nach dem Prompt also "apt-c" und TAB ein, werden nur Befehle mit diesem Anfang in die Vorschlagsmenge aufgenommen:

apt-cache   apt-cdrom   apt-config

Wir geben ein 'a' und TAB ein, es wird zu "apt-cache " ergänzt. Wir geben erneut ein TAB ein: Die Shell weiß jetzt, es muss ein Schalter von apt-cache sein und bietet an:

add        dotty      dumpavail  madison    policy     search     showpkg    stats      xvcg
depends    dump       gencaches  pkgnames   rdepends   show       showsrc    unmet      

Wir entscheiden uns für search, indem wir "se" und TAB drücken.

Die Shell ergänzt zu "apt-cache search ".

Ein erneutes TAB liefert nichts: Hier ist die Shell ratlos, denn es muss ein Suchstring folgen, und da gibt es keine vernünftigen Vorschlagsmöglichkeiten.

Noch ein Beispiel: Der Befehl "cd" erwartet danach ein Verzeichnis. Wir geben also ein "cd " TAB. Vorschlagsliste umfasst jetzt alle Verzeichnisse (und nicht etwa alle Dateien).

Am meisten wird die Ergänzung bei Datei- und Verzeichnisnamen eingesetzt: Damit kann mit wenigen Tastendrücken eine Datei irgendwo im Verzeichnisbaum eingegeben werden. Das geht oft viel schneller als die Klickerei in GUI-Programmen.

Korrektur- und Suchmöglichkeiten im Shell-Eingabebereich

Die Shell bash bietet bei der Eingabe Möglichkeiten eines Editors:

Positionierung

  • Pfeil-links, Pfeil-rechts bewegen den Cursor in die jeweilige Richtung
  • Pfeil-auf: Geht in der Historie Richtung "früher". Ein Tastendruck liefert den letzen Befeh, zwei mal Pfeil-auf liefert den vorletzten usw.
  • Pfeil-ab: Geht in der Historie Richtung "später". Ist nur sinnvoll, wenn vorher Pfeil-auf gedrückt wurde.
  • Strg-a ("Anfang") geht an den Anfang der Eingabe
  • Strg-e ("Ende") geht an das Ende der Eingabe
  • Strg-r ("search reverse") sucht inkrementell rückwärts: es wird nach jedem Tastendruck automatisch mit dem Begriff vervollständigt, der als erstes auf die bisherigen Eingaben passt. Wird nochmal Strg-r eingegeben, wird der nächste passende Befehl aus der Historie vorgeschlagen. Passt der Vorschlag, wird mit Enter der Befehl ausgeführt.

Korrektur

  • Die Rücktaste löscht das Zeichen vor dem Cursor.
  • Die Löschtaste löscht das Zeichen unter dem Cursor.
  • Strg-k ("Kill") löscht vom Cursor bis zum Eingabeende.