Zum Beispiel, wenn ich a
mkdir thisismyfolder912
Ich erinnere mich, dass es einen einfacheren Weg gibt, zu dem man wechseln kann, thisismyfolder912
als ein zu tun
cd thisismyfolder912
Was ist das und wie funktioniert es? Was sind auch die anderen Möglichkeiten, wie ich das verwenden kann?
shell
command-history
Laser
quelle
quelle
cd this<TAB>
Antworten:
Sprechen Sie über die klassische Historienerweiterung oder die Readline-Verarbeitung?
cd !$
auf der nächsten Eingabezeile wird in dem letzten Argumente der vorhergehenden Zeile ersetzen, oder M-.oder M-_es wird unter Verwendung von Readline zerren.quelle
cd !$
. "Classic History Expansion oder Readline Processing" Ich verstehe nicht genau, was Sie meinen ...!$
ist eine historische Erweiterung . Die Shell verarbeitet es, während es Ihren Befehl analysiert. M-. ist ein Readline-Tastendruck; readline ist die Bibliothek, die jede Taste behandelt, die Sie drücken, und es wird angezeigt, dass Sie M- gedrückt haben. und gibt das letzte Argument des letzten Befehls automatisch für Sie einWenn es bei Ihrer Frage um den Zugriff auf den Befehlsverlauf geht, versuchen Sie diesen gut benannten Befehl
Sie können auch Ctrl+ versuchen rund einen Befehl eingeben, an den Sie sich erinnern möchten, dass Sie ihn kürzlich eingegeben haben.
Drücken Sie ESC, um den Befehl auszuwählen oder zu beenden. Das funktioniert bei mir zumindest unter SuSE; Ich bin mir nicht sicher über andere Distributionen.
quelle
history | grep ...
!vi
wie man die Kommandozeile verwaltet. Sieht super cool aus. Verwenden von vi zum Bearbeiten von Shell-BefehlenEs ist so einfach wie Alt+.
Alt + .
quelle
<kbd></kbd>
Tags, um den Schlüssel zu umgeben.<kbd>
das hat bei mir immer geklappt:
quelle
$!
Wird auf das letzte Wort erweitert, das Sie tatsächlich eingegeben haben, und wird$_
nach der Erweiterung auf das letzte Wort erweitert. Sie können alsoecho /tmp/tmpfile*
eine Reihe von Dateien anzeigen, die Sie entfernen möchten, aber dannrm $_
wird nur eine davon entfernt.Nehmen Sie einen Tipp von einem anderen Faden, wenn Sie sagen:
In Ihrem .bashrc können Sie dann etwas aus Ihrem Verlauf eingeben und dann den Aufwärtspfeil drücken. Anstatt den Verlauf Element für Element durchzugehen, wird direkt zu vorherigen Einträgen gesprungen, die mit dem beginnen, was Sie bereits haben getippt.
Ich denke, das hilft bei dem in der Frage angegebenen Beispiel nicht viel, aber es ist eine Sache, die mir dabei hilft, im Handumdrehen auf die Geschichte zuzugreifen.
quelle
Wenn Sie Bash verwenden, empfehle ich
pushd
undpopd
. Sie können einen Stapel von Verzeichnissen erstellen und diese schnell durchsuchen. Siehe dieses Beispiel:quelle
$
pushd
In diesem Zusammenhang empfehle ich die Verwendung von histverify in bash. Fügen Sie dies in Ihre ~ / .bashrc ein:
Dies veranlasst bash, den Befehl nach dem Erweitern von! $ Oder anderen Verlaufsfunktionen auszudrucken, und gibt Ihnen die Möglichkeit, ihn sich anzusehen, bevor Sie erneut die Eingabetaste drücken, um ihn tatsächlich auszuführen. Für mich ist die Überprüfung der geistigen Gesundheit den gelegentlichen zusätzlichen Tastendruck wert. Ich möchte sicherstellen, dass ich den
cd foo
Befehl ausführe, nicht denrm -rf foo
...Ich benutze den Ctrl-RAnsatz auch häufig Alt-.(was gut zu dem von Ihnen beschriebenen Szenario passt). Ich werde! $ Gelegentlich verwenden.
Dies sind sehr nützliche Allzwecktechniken.
Aber um Ihre spezifische Frage anzusprechen:
Das Erstellen eines Verzeichnisses und das direkte Einspielen von CDs in dieses Verzeichnis ist eine so häufig vorkommende Kombination, dass es nützlich ist, eine Funktion zu haben, um es zusammenzufassen.
Verwendung:
mcd thisismyfolder
quelle
Wenn Ihre Shell readline verwendet (was ist der Fall für
bash
), können Sie so etwas wie ATL+ .zusammen drücken ?Aus der GNU Readline-Dokumentation :
quelle