Heute stelle ich euch einen der „billigsten“ Tricks der Linux CLI vor, den erstaunlicherweise fast keiner kennt.
Kennt ihr es nicht auch? Ihr benutzt ein Kommando in der bash und könnt euch das Kommando einfach nicht merken. Das gemeine daran: Wenn ihr euch das Kommando nicht merken könnt, könnt ihr es auch mit Hilfe von Ctrl+r nicht suchen. Also bleibt nur „googeln“ oder mit den Pfeiltasten mühsam nach dem richtigen Kommando suchen.
Eine super Ergänzung dazu ist das Kommentieren von Kommandos.
Ein simples Beispiel:
~$ find . -mtime +30 -print # find files older than 30 days
./.bash_logout
./.bashrc
./.gnupg
./.profile
./.ssh
./.ssh/authorized_keys
Nun kann das Kommando in der Suche der Bash History (Ctrl+r) mit Hilfe des Kommentars gefunden werden:
(reverse-i-search)`older': find . -mtime +30 -print # find files older than 30 days
Zugegeben, das war jetzt sehr billig. Man kann dieses Vorgehen aber noch weiter „aufbohren“ in dem man Platzhalter einfügt. Als etwas komplexeres Beispiel dient hier ein zfs send der einen Snapshot auf einen Backup-Server archiviert und (für bessere Transferraten) mbuffer nutzt.
~$ zfs send -I <last-incremental-snapshot> data/test@<current-incremental-snapshot> | mbuffer -O <backup-server>:<port> # transfer zfs snapshots to backup server
-bash: syntax error near unexpected token `|'
Durch die Platzhalter bekommt man beim Ausführen des Kommandos leider eine nicht so schöne Fehlermeldung, aber immerhin ist die “Kommando-Vorlage” nun in der Bash History verfügbar.
(reverse-i-search)`backup': zfs send -I <last-incremental-snapshot> data/test@<current-incremental-snapshot> | mbuffer -O <backup-server>:<port> # transfer zfs snapshots to backup server
Um den unschönen Syntax Fehler und damit verbundene, potentielle Fehler zu vermeiden kann das Kommando auch direkt in die Bash History ($HOME/.bash_history) geschrieben werden. Nach einem Logout / Login oder history -a ist das neue Kommando dann verfügbar.
Solltest ihr viele Kommandos hinterlegen wollen, denkt bitte daran eure Bash-History entsprechend groß zu dimensionieren. Nicht das die “Kommando-Vorlagen” schon nach einem Tag wieder aus der History verschwunden sind.
Falls dieser Tip für euch völlig unverständlich ist kann ich unser Linux Training nur wärmstens empfehlen 😉

0 Comments