Sie können die vorhandenen Funktionen von Bash zur Suche nach Verlauf und Verlauf kombinieren. Drücken Sie Ctrl-R, um die inkrementelle Rückwärtssuche zu starten, und geben Sie dann den Teil des Pfads ein, der wahrscheinlich eindeutig ist.
Sie können so lange Buchstaben eingeben, bis Sie wieder den letzten cd
Befehl für dieses Verzeichnis Ctrl-Reingegeben haben , oder Sie können erneut drücken , um zum nächsten Befehl im Verlauf zu springen, der Ihren bisherigen Eingaben entspricht.
Ich mache das die ganze Zeit.
Eigentlich gehe ich noch einen Schritt weiter. Sobald ich anfange, Sequenzen von Befehlen zu entdecken, die es wert sind, in der Geschichte festgehalten zu werden, die es jedoch nicht wert sind, sich auf ein Shell-Skript festzulegen, fange ich an, sie mit &&
und ;
Kombinatoren zu verketten, damit ich in umgekehrter Reihenfolge nach einem Teil dieses einen langen Befehls suchen Enterund die gesamte Sequenz ausführen kann Einmal.
So erstelle und führe ich beispielsweise eines meiner Programme während der Entwicklung aus:
$ ( cd .. ; make install ) && ./start_my_program
Ich mache dies aus dem Installationsverzeichnis, das sich unter dem Quellverzeichnis der obersten Ebene befindet. Indem cd
ich das Teil in eine Sub-Shell einhülle , baue und installiere, stelle ich sicher, dass ich, egal was während dieses Vorgangs passiert, wieder in meiner normalen Shell lande, ohne dass sich etwas ändert. Erst wenn das gelingt (&&), starte ich das erstellte und installierte Programm. Ich kann mit nur dies in meiner Geschichte finden Ctrl-Rdann sta, dass ist alles , was ich in der Regel eindeutig müssen diese Befehlsfolge finden.
Ein weiteres Beispiel, wie ich dies benutze, ist die Sequenz, in der RPMs für dasselbe Programm erstellt werden. Der größte Teil der mühsamen Arbeit liegt in Shell-Skripten, aber es gibt immer noch ein paar Befehle, die ich normalerweise eingeben muss, um die gesamte Arbeit des Erstellens und Bereitstellens der erstellten RPMs zu erledigen, die ich jetzt selten neu eingeben muss, da Bash beibehalten wird es in der Geschichte für mich.
Kombinieren Sie all dies mit export HISTSIZE=bignum
und, shopt histappend
und Sie haben gerade einen elephantine-Befehlsspeicher erstellt.
Eine andere Lösung, die ich einmal codiert habe, ist meine Antwort auf eine andere Frage hier . Es muss möglicherweise für Ihre Zwecke angepasst werden und verarbeitet nur cd
Befehle, wohingegen die Verlaufssuchoption überall und für jeden Befehl funktioniert.