Nützliches und Hilfreiches in der Bash, Teil 2
2010-02-27 18:49 (Kommentare: 6)
Tasten und Kombinationen
Im ersten Teil dieses Artikels wollte ich mich bereits mit einigen hilfreichen Tasten und Tastenkombinationen auseinandersetzen. Allerdings ist der History-Teil dann etwas ausgeartet, so dass ich den Artikel lieber zwei geteilt habe. Innerhalb der Bash gibt es eine Fülle von Helferlein. Einige davon habe ich bereits vorgestellt, andere stehen noch in meiner To-Write-Liste.
Eine der nützlichlichsten Tasten innerhalb der Bash ist die Tab- oder Tabulator-Taste. Das ist die Taste mit den zwei Pfeilen oben links auf der Tastatur. Wenn ich bereits einen Teil eines Befehls, Programmes oder einer Datei eingegeben habe, dann wird das eingegebene Wort durch Drücken der Tab-Taste vervollständigt. Zumindest so lange es genau eine Zuordnung dazu gibt. Gibt es mehrere Zuordnungen, werden sie mir durch zweimaliges Drücken der Tab-Taste angezeigt.
helena@helena-home:~$ apt
apt-cache apt-ftparchive apt-mark
apt-cdrom apt-get apt-sortpkgs
apt-config aptitude apturl
aptd aptitude-create-state-bundle apturl-gtk
aptdcon aptitude-run-state-bundle apturl-kde
apt-extracttemplates apt-key
helena@helena-home:~$ apt
So kann man besonders gut Vertipper oder Rechtschreibfehler unterbinden, beispielsweise wenn man einen längeren Dateipfad eingeben muss. An diesem Beipsiel hier sieht man wie viele Variationen der Begriff apt hat.
Die weiteren Tastenkombinationen stelle ich lieber in einer Tabelle dar, da es einfach übersichtlicher ist. Die einzelnen Tabellen sind nach Themen sortiert.
Bewegung in der Kommandozeile
Falls einen, aus welchem Grund auch immer, mal nicht die Pfeiltasten zu Verfügung stehen, dann gibt es immer noch Möglichkeiten sich in der Kommandozeile vor- und zurück zu bewegen.
| strg + b | Ein Zeichen rückwärts (b = backwards) |
| strg + f | Ein Zeichen vorwärts (f = forwards) |
| alt + b | Ein Wort nach links |
| alt + f | Ein Wort nach rechts |
| strg + a | zum Anfang der Zeile |
| strg + e | zum Ende der Zeile |
| strg + x (+ x) | zum Anfang (und zum Ende) der Zeile |
Ausschneiden, Kopieren und Einfügen
Auch für diese Aktionen gibt es Tastenkürzel. Es ist also möglich sich vollkommen ohne die Möglichkeiten der Maus in der Bash zu bewegen. Leider ist es nicht nur möglich, sondern zum Teil auch zwingend erforderlich, weil die Maus einfach nicht zur Verfügung steht.
| Rücklöschtaste (en: Backspace) | löscht ein Zeichen links der Eingabeaufforderung (Cursor) |
| Entf oder strg + d | löscht ein Zeichen unter der Eingabeaufforderung (Cursor) |
| strg + u | löscht jedes Zeichen vor Eingabeaufforderung (Cursor) bis Anfang der Zeile |
| strg + k | löscht jedes Zeichen ab der Eingabeaufforderung (Cursor) bis zum Ender der Zeile |
| alt + d | löscht das Wort unter der Eingabeaufforderung (Cursor) |
| strg + w | löscht das Wort links von der Eingabeaufforderung (Cursor) |
| strg + y | fügt das zuletzt gelöschte Wort bzw. Zeichen ein |
| alt + y | fügt das vorletzte gelöschte Wort bzw. Zeichen ein |
Kopieren und Löschen sind also die gleichen Befehle.
Zeichen und Wörter verschieben
| strg + t | verschiebt das Zeichen links vor Eingabeaufforderung (Cursor) ein Zeichen nach rechts |
| alt + t | verschiebt das Wort links vor Eingabeaufforderung (Cursor) ein Wort nach rechts |
Vervollständigen
Neben der Tabulator-Taste gibt es auch noch Tastenkombinationen um Dateien, Befehle oder Programme zu vervollständigen. Diese werden nun vorgestellt.
| alt + ? | führt wie die Tab-Taste alle Möglichkeiten der Vervollständigung auf |
| alt + * | listet alle Möglichkeiten der Vervollständigung innerhalb der Kommandozeile auf |
Zur Verdeutlichung zeige ich das hier mal als Bash-Auszug.
helena@helena-home:~$ apt
apt-cache apt-ftparchive apt-mark
apt-cdrom apt-get apt-sortpkgs
apt-config aptitude apturl
aptd aptitude-create-state-bundle apturl-gtk
aptdcon aptitude-run-state-bundle apturl-kde
apt-extracttemplates apt-key
helena@helena-home:~$ apt
Hier habe ich die Tastenkombination alt + ? gewählt. Nun zum Unterschied alt + *.
hexe@hexe-home:~$ apt-cache apt-cdrom apt-config aptd aptdcon apt-extracttemplates apt-ftparchive
apt-get aptitude aptitude-create-state-bundle aptitude-run-state-bundle apt-key apt-mark apt-sortpkgs
apturl apturl-gtk apturl-kde
Nun wurden also alle möglichen Befehle in der Kommandozeile aufgelistet. Ich persönlich frage mich ja, welchen Zweck das haben könnte, denn sobald ich mehr als eine Möglichkeit habe, ergibt das keinen Sinn mehr. In diesem Fall kann ich dann besser die Tab-Taste nutzen oder alt + ?.
Änderungen rückgängig machen
Die Änderungen, die so eben vorgestellt wurden, können auch wieder rückgängig gemacht werden. Das wird meist Undo genannt.
| strg + _ | Diese Tastenkombination macht die letzte Änderung wieder rückgängig. Man kann so alles bis zur leeren Kommandozeile rückgängig machen. Allerdings keine ausgeführten Befehle, sondern wirklich nur Änderungen in einer noch nicht ausgeführten Kommandozeile |
| alt + r | macht alle Änderungen in einer Kommandozeile rückgängig. Man erhält also wieder eine leere Eingabeaufforderung. |
| strg + l | löscht die Bildschirmausgabe, so dass man nur noch die letzte Befehlzeile in der Ausgabe der Bash hat. |
Dies war es nun an Tastenkombinationen. Ich empfehle alle mal durchzuprobieren, um zu sehen wie sie funktionieren und um sie zu verinnerlichen. Es gibt natürlich immer noch mehr Tastenkombinationen und es werden in den einzelnen Artikel immer wieder welche auftauchen, aber dies scheinen mir doch die wichtigsten innerhalb der Bash zu sein. Prozesse können auch mit bestimmten Tastenkombinationen unterbrochen werden, dass wird dann aber in einem eigenen Artikel zu Prozessen behandelt werden. Auch kann der gesamte X-Server oder aber das gesamte System mit bestimmten Tastenkombinationen abgeschossen werden. Wer sich damit bereits jetzt näher auseinandersetzen möchte, dem seien die Quellen ans Herz gelegt.
Quellen:
Readline shortcuts
Linux keyboard shortcuts
Kommandozeilen-Editor und History
Einen Kommentar schreiben
Kommentar von Xtra | 2010-03-01
Nun komm ich mir langsam ein bissen oberlehrerhaft vor, aber dennoch moechte ich ein "s/Mauszeiger/Cursor/gi;" im ersten Abschnitt anregen.
Schliesslich handelt es sich bei dem blinkenden Strich (bzw. Kloetzchen, je nachdem welches Terminal man verwendet) um den Cursor und nicht um einen Mauszeiger. ;)
Kommentar von Helena | 2010-03-01
das brauchst Du nicht oder besser ich möchte nich, dass Du Dich so fühlst. Es ist mir bewußt, dass das blinkende Ding Cursor heißt, allerdings ist das m.M.n. nicht gerade sinnvoll für eine Einführung. Denn ist ein deutscher Text und ich möchte englische Begriffe vermeiden, wo ich es kann.
Hast Du eine bessere Übersetzung? Ansonsten setze ich es in Klammern dahinter.
Ich danke Dir wie immer vielmals :)
Liebe Grüße
Helena
Kommentar von Xtra | 2010-03-01
Ein Cursor [ˈkɜːɹsəɹ] (engl. cursor, von lat. cursor ´Läufer´) (auch: Einfügemarke, Schreibmarke, Eingabemarkierung).
Von denen gefaellt mir Eingabemarkierung eigentlich recht gut.
Dennoch sollte jeder consolenbenutzer wissen, was ein Cursor ist. ;)
Kommentar von Helena | 2010-03-23
ihh... da fällt mir auf das böse Wort ist ja immer noch im text. Pfui - Asche auf mein Haupt!
Kommentar von Ice | 2010-03-23
Hi Helena,
Schön geschrieben, hab' auch etwas dazugelernt - besonders die deutschen Begriffe zu den ansonsten in Fleisch und Blut übergegangenen englischen Begriffe.
Ich frage mich auch immer wieder selbstkritisch, ob es wirklich angebracht ist die weltweit einheitlichen aber leider englischen Begriffe durchzusetzen oder ob es besser ist auf deutsche Begriffe umzustellen? In der Branche sind die englischen Begriffe meist unmissverständlich, klar und eindeutig.
Kommentar von Helena | 2010-03-23
Hi Ice,
danke für deinen Kommentar zum Artikel. hmm hmm hmm natürlich sind die englischen Begriffe wichtig und ich sollte mir vielleicht angewöhnen sie einzuführen anstelle davon die Begriffe zu ersetzen.
Ich habe - meine Mama mag es mir verzeihen - meine Mama immer vor Augen, die teilweise ein Anfänger ist und Erklärungen braucht. Wenn ich ihr also Cursor sagen würde, würde sie das u.U. nicht verstehen, Mauszeiger versteht sie aber.
Aber da muss ich wirklich noch mal drüber nachdenken. :) Danke aufjedenfall für deine Anmerkungen!
Viele Grüße
Helena