Login
Newsletter
Do, 19. August 2004, 00:26

Kommandozeilen editieren in der Bash

Ein paar leicht zu merkende Tastenkombinationen können das Arbeiten in der Bash-Shell deutlich beschleunigen.

Im folgenden Tipp werde ich das gleichzeitige Drücken der STRG-Taste (englisch CTRL) zusammen mit einer anderen Taste durch C- darstellen. Entsprechend verfahre ich mit der linken ALT-Taste (in der Dokumentation oft als Meta bezeichnet): A-

Obwohl ich viel mit der Shell arbeite, kannte ich bisher nur wenige spezielle Tastenkombinationen: Beispielsweise TAB zum Vervollständigen von Kommandos, C-w zum Löschen eines Wortes und C-x C-r zum erneuten Einlesen der Dateien .inputrc und /etc/inputrc. Tief in der bash(1)-Manpage sind aber noch viele weitere Tastenkombinationen verborgen. Daher will ich hier einige auflisten, die mit der Cursorbewegung und dem Löschen von Eingaben zu tun haben. Die Liste wird allerdings nicht vollständig sein. Es gibt sogar Kommandos, die noch an keine Taste gebunden sind. Wer diese verwenden will, muß sie erst durch eine Definition in .inputrc an eine Tastenkombination binden.

Hier also die Kommandoübersicht zum Auswendiglernen. Mit Rubout ist die Löschtaste über der Enter-Taste gemeint. Ein Wort ist eine Folge von alphanumerischen Zeichen, d.h. Sonderzeichen trennen die Wörter.

  • C-a setzt den Cursor an den Zeilenanfang (verwenden Sie das, wenn die POS1-Taste nicht funktioniert).
  • C-e setzt den Cursor ans Zeilenende (verwenden Sie das, wenn die ENDE-Taste nicht funktioniert).
  • C-f geht ein Zeichen nach rechts.
  • C-b geht ein Zeichen nach links.
  • A-f geht ein Wort nach rechts.
  • A-b geht ein Wort nach links.
  • C-l löscht den Bildschirm, läßt aber die Kommandozeile unangetastet.
  • C-t vertauscht das Zeichen unter dem Cursor mit dem links davon. Der Cursor wird gleichzeitig nach rechts bewegt.
  • A-t vertauscht das Wort unter dem Cursor mit dem links davon. Der Cursor wird gleichzeitig ans Ende des zweiten Wortes gesetzt.
  • C-k löscht alles vom Cursor bis zum Ende der Zeile. Das Zeichen unter dem Cursor wird mit gelöscht.
  • C-u löscht alles vom Anfang der Zeile bis zum Cursor.
  • C-x Rubout wirkt wie C-u.
  • A-d löscht bis zum Ende des aktuellen Wortes. Wenn der Cursor zwischen zwei Wörtern steht, dann löscht es bis zum Ende des nächsten Wortes.
  • A-Rubout löscht bis zum nächsten Sonderzeichen links vom Cursor und bewegt den Cursor entsprechend zurück. Beispiel: Sie haben »ls /proc/443« eingegeben, dann löscht C-w »443« und es bleibt »ls /proc/« stehen.
  • C-w löscht das Wort (in diesem Fall durch Leerzeichen begrenzt) links vom Cursor und bewegt den Cursor entsprechend zurück. Beispiel: Sie haben »ls /proc/443« eingegeben, dann löscht C-w »/proc/443«.
  • A-\ löscht alle Leerzeichen links vom Cursor und bewegt den Cursor entsprechend zurück.

  • Dieses Werk wurde von seinem Urheber zur uneingeschränkten Nutzung freigegeben und ist damit gemeinfrei (»public domain«).

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten