Nützliche Tipps in der BASH

Shortcuts der Bash
FOR Schleifen

Shortcuts der Bash

Die wichtigsten Tastenkombinationen der Bash:

[Esc] + [f]springt zum Wortende
[Esc] + [b]springt zum Wortanfang
[Strg] + [e]springt zum Zeilenende
[Strg] + [a]springt zum Zeilenanfang
[Strg] + [y]fügt zuletzt gelöschten Text an der Cursorposition ein
[Tab]ergänzt eingegebene Buchstaben zu Dateinamen.
Wenn mehre Dateien in Frage kommen, ertönt ein Signalton. Mit
[Tab] [Tab]wird darufhin eine Liste mit den möglichen Dateien angezeigt.
[Strg] + [Shift] + [-]macht letzten Befehl rückgängig
[Strg] + [r]sucht Kommando anhand der Anfangsbuchstaben in der History
[Esc] + [<]springt an den Anfang der History-Liste
[Esc] + [>]springt ans Ende der History-Liste
[Strg] + [l]löscht den Bildschirm, Consolen Zeile bleibt erhalten
[Strg] + [k]löscht alles vom Cursor bis zum Ende der Zeile. Das Zeichen unter dem Cursor wird mit gelöscht
[Strg] + [u]löscht alles vom Anfang der Zeile bis zum Cursor
[Strg] + [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


Die FOR Schleife

Der erste Einzeiler löscht alle rpm Files, die der YUM von Fedora downloaded. Es ist sehr praktisch um den benötigten Platzbedarf gering zu halten. Für was brauche ich die rpm Packete, nachdem sie installiert sind?
for FILE in /var/cache/yum/*; do rm -rf $FILE/packages/*.rpm; done
Es ist nur ein Beispiel, du kannst auch vom yum Packet den Befehl
yum clean packages
absetzen, was den gleichen Effekt erziehlt. Wenn du den Befehl
yum clean
absetzt, löscht du alle Packete und alle alten Headerdateien vom Filesystem. (yum clean packages && yum clean oldheaders) Ein paar for Schleifen zum leichteren Verständniss. Vor und nach == ergibt immer das gleiche Ergebniss.
for I in *; do echo $I;done == for I in `ls`; do echo $I;done
for I in $(sort -t : -k 1.1,1.2 /etc/passwd | cut -d : -f 1); do echo $I;done == sort -t : -k 1.1,1.2 /etc/passwd | cut -d : -f 1
for I in `sort -t : -k 1.1,1.2 /etc/passwd | cut -d : -f 1`; do echo $I;done == sort -t : -k 1.1,1.2 /etc/passwd | cut -d : -f 1