Ich kann den history
Befehl unter CentOS verwenden, um eine Liste der zuvor eingegebenen Befehle abzurufen. Wenn ich jedoch Folgendes tue:, !372
wird der Verlauf versuchen, den referenzierten Befehl auszuführen.
Ich benötige den vorherigen Ausführungsbefehl, um am aktuellen Cursor zu erscheinen. Hier ist ein Beispiel:
[dev@home ~]$ previous_command_no_execute!372
!372
, um sie zu erweitern.Sie können Ctrlreinige Zeichen aus dem ursprünglichen Befehl verwenden und dann eingeben, z
Oben habe ich getippt
Ctrl-r /etc
und es ruft densudo /etc/init.d/apache2 restart
Befehl aus der Historie aufquelle
history | grep 372
sollte funktionieren, oder?Bearbeiten:
Zusätzlich können Sie etwas tun
echo !372 > /dev/clip
, um das Befehlsverzeichnis in Ihre Zwischenablage zu kopieren.quelle
MDMarra gab den einfachen Weg (
history|grep
und kopieren / einfügen mit Ihrer Desktop-Umgebung, vorausgesetzt, Sie haben eine). Ich gebe, wie ich es nenne, auf die harte Tour, die funktioniert, wenn Sie keine Desktop-Umgebung oder Maus haben.Angenommen, Sie führen bash als Shell aus:
$ set -o vi
$ ESC372k
(Sie haben jetzt den Befehl, den Sie vor 372 Befehlen ausgeführt haben, in der Zeile und befinden sich im
vi
Befehlsmodus -style. Bearbeiten Sie ihn so, als würden Sieex
/ verwenden.vi
)quelle
vi
. Es sollte so schnell wie möglichset -o vi
funktionieren und für den gesamten Verlauf (der Bearbeitungsmodus ist nur eine Schnittstelle zum Befehlsverlauf der Shell und zu anderen Dingen).Der einfachste und schnellste Weg, um das zu tun, was Sie wollen, ist das Ausführen von:
gefolgt von Enterund↑
quelle
Befinden Sie sich auf einem Desktop-System oder Server?
Auf meinem Kubuntu-Desktop-System unterstützt es das Hervorheben mit der Maus, wenn die Shell geöffnet ist. Normalerweise hebe ich den Text einfach mit der Maus hervor und klicke auf die mittlere Maustaste, um ihn einzufügen. Würde das bei Ihnen funktionieren?
Sie können also nach dem Befehl suchen. Markieren Sie den Text. Füge es mit der mittleren Maustaste ein und bearbeite es.
Es könnte einen besseren Weg geben, aber das funktioniert für mich.
quelle
Es gibt keinen Befehl zum automatischen Einfügen, Sie können jedoch jeden Befehl in einem Editor aufrufen, um ihn vor der Ausführung zu bearbeiten. Dies kann zu dem führen, wonach Sie suchen. Wenn Sie den Befehl jedoch beenden, wird er ausgeführt. Wenn Sie den Vorgang abbrechen möchten, sollten Sie den Bearbeitungspuffer löschen, bevor Sie den Editor beenden.
fc -e vi 372 372
quelle