Heute werde ich Ihnen beibringen, wie Sie Ihren letzten Befehl in Linux wiederholen. Sie müssen die zuvor ausgeführten Befehle nicht erneut in Ihre Shell eingeben. Natürlich verwenden wir den Pfeil nach oben Taste, um die zuletzt ausgeführten Befehle auszuwählen, und drücken Sie ENTER, um sie auszuführen. Es gibt jedoch auch einige andere Möglichkeiten, dies zu tun. Es könnte viele Möglichkeiten geben, die letzten Befehle in Unix-ähnlichen Systemen zu wiederholen, aber dies sind die einzigen Möglichkeiten, die mir jetzt bekannt sind. Alle diese Befehle wurden in meinem Arch Linux- und Ubuntu-Desktop mit BASH-Shell getestet.
Ein Wort der Vorsicht: Wenn Sie die folgenden Methoden ausprobieren, werden die zuvor ausgeführten Befehle sofort ausgeführt. Stellen Sie einfach sicher, dass Ihr letzter Befehl nicht schädlich war wie das Formatieren einer Partition oder das Löschen von Dateien, Ordnern oder anderen wichtigen Daten.
Letzten Befehl unter Linux wiederholen
Lassen Sie uns ein paar Befehle ausführen.
$ ls -l
$ pwd
$ date
$ uname -r
Wie ich bereits erwähnt habe, können wir den letzten Befehl ausführen, indem wir einfach die UP-Taste drücken Pfeil und drücken Sie ENTER Schlüssel. Dies ist die von vielen Benutzern am häufigsten verwendete Methode, um den vorherigen Befehl auszuführen. Diese Methode funktioniert auf allen Shells, unabhängig von der verwendeten Linux-Distribution.
Wie ich bereits sagte, gibt es jedoch noch ein paar andere Methoden, dies zu tun.
Lassen Sie mich Ihnen nun anhand einiger praktischer Beispiele zeigen, wie Sie den letzten Befehl ausführen.
Methode 1 - Verwendung von Ausrufezeichen
Um einen zuletzt ausgeführten Befehl auszuführen, geben Sie einfach doppelte Ausrufezeichen ein und drücken Sie die EINGABETASTE:
$ !!
Dadurch wird der letzte Befehl ausgeführt. Beispielausgabe wäre:
uname -r 5.3.0-40-generic
Fügen Sie sudo
hinzu vor !!
um den letzten Befehl als root
auszuführen Benutzer wie unten.
$ sudo !!
Sie können auch Folgendes verwenden, um den vorherigen Befehl als sudo
auszuführen Benutzer:
$ su -c "!!"
Beispielausgabe:
su -c "uname -r" Password: 5.3.0-40-generic
Cool, oder? Sie müssen den letzten Befehl nicht vollständig eingeben. Dies kann nützlich sein, wenn Sie bereits einen sehr langen Befehl ausgeführt haben und denselben Befehl nicht noch einmal eingeben möchten.
Methode 2 - N-ten Befehl wiederholen
Möglicherweise haben Sie so viele Befehle ausgeführt und möchten einen bestimmten Befehl wiederholen. Was wirst du tun? Einfach! Sie können dies tun, indem Sie ein bestimmtes Wort des vorherigen Befehls eingeben.
Zum Wiederholen des vorherigen Befehls, der mit einem bestimmten Wort/Buchstaben beginnt, zum Beispiel un
, geben Sie einfach ein:
$ !un
Der obige Befehl führt den letzten Befehl aus, der mit den Buchstaben "un" beginnt .
Beispielausgabe:
!un uname -r 5.3.0-40-generic
Wie Sie im obigen Beispiel sehen, müssen Sie nicht den ganzen Befehl eingeben (d. h. uname -r
). Geben Sie stattdessen einfach ein paar Buchstaben des Befehls ein, und jeder vorherige Befehl, der Wörter enthält, wird ausgeführt.
Wenn Sie den vollständigen Befehlsnamen kennen, geben Sie ihn einfach wie folgt ein:
$ !uname
Es wird den letzten Befehl ausführen.
Was ist, wenn Sie den letzten Befehl nicht wiederholen, sondern nur anzeigen möchten? Manchmal möchten Sie einen Befehl nicht ausführen, sondern ihn einfach aus dem Verlauf abrufen. Suchen Sie in diesem Fall die Präfixnummer des Befehls, den Sie ausführen möchten:
$ history | grep -i "source"
Beispielausgabe:
1664 source googler_at 1678 source googler_at 1685 source ~/.bashrc 2037 history | grep -i "source"
Angenommen, Sie möchten den 1685. abrufen Befehl, aber nicht sofort ausführen möchten, fügen Sie :p
hinzu neben dem Befehl wie unten.
$ !1685:p
Dadurch wird der 1685. Befehl aus dem Verlauf angezeigt, aber nicht ausgeführt.
Methode 3 - Rückwärtssuche verwenden
Sie können dies auch tun, indem Sie Ihren Befehlszeilenverlauf mit CTRL+R
durchsuchen . Drücken Sie CTRL+R
Taste, um den Befehlszeilenverlauf zu durchsuchen. Ich persönlich bevorzuge diese Methode. Es durchsucht den Verlauf interaktiv, was meiner Meinung nach sicherer ist, als Befehle blind aus dem BASH-Verlauf auszuführen.
Sehen Sie sich das folgende Beispiel an. Im folgenden Beispiel habe ich nach "ost"
gesucht , der den letzten Befehl “sudo netctl restart ostechnixjio”
anzeigte im Verlauf, der das Wort "ost"
enthielt . Dann drücke ich die EINGABETASTE, um den Befehl sofort auszuführen, oder die rechte Pfeiltaste, vervollständige den Befehl und drücke die EINGABETASTE, um ihn auszuführen.
(reverse-i-search)`ost': sudo netctl restart ostechnixjio
Für den Fall, dass Sie den letzten Befehl bearbeiten/ändern möchten, bevor Sie ihn ausführen, drücken Sie einfach die Pfeiltaste nach links , bearbeiten Sie dann den letzten Befehl und drücken Sie ENTER, um ihn auszuführen. Einige Befehle können mit denselben Buchstaben beginnen. Drücken Sie in solchen Fällen weiterhin CTRL+R
Taste, um den Befehl zurückzubringen, den Sie ausführen wollten.
Methode 4 - Bindestrichsymbol mit Befehlspräfixnummern verwenden
Hier ist noch eine weitere Möglichkeit, den vorherigen Befehl auszuführen.
$ !-1
Beispielausgabe:
uname -r 5.3.0-40-generic
Ebenso !-2
führt den vorletzten Befehl aus, !-3
führt den drittletzten Befehl aus usw.
Methode 5 - Verwenden von STRG+p und STRG+o
Ich möchte keinen Befehl manuell eingeben. Gibt es eine Möglichkeit, einen letzten Befehl zu wiederholen, indem ich einfach eine bestimmte Taste auf meiner Tastatur drücke? Ja, natürlich!
Drücken Sie CTRL+P
um zum letzten Befehl zu wechseln, und drücken Sie dann CTRL+O
es auszuführen. Das wird das Wunder bewirken. Keine Konfiguration erforderlich! Sie können CTRL+O
verwenden so oft Sie möchten, um die letzten Befehle erneut auszuführen.
Methode 6 - Verwendung des fc-Befehls
Dies ist eine weitere Möglichkeit, den zuletzt ausgeführten Befehl zu wiederholen. Der fc
Befehl wird verwendet, um den zuvor eingegebenen Befehl aufzulisten, zu bearbeiten und erneut auszuführen.
Um den letzten Befehl mit fc zu wiederholen, führen Sie einfach Folgendes aus:
$ fc -s
Beispielausgabe:
uname -r 5.3.0-40-generic
Empfohlene Lektüre:
- Das fc-Befehls-Tutorial mit Beispielen für Anfänger
- Wenden Sie Tags auf Linux-Befehle an, um sie einfach aus dem Verlauf abzurufen
- Vergessene Linux-Befehle mit Apropos einfach abrufen
- Pet – Ein einfacher Befehlszeilen-Snippet-Manager
- So speichern Sie Befehle und verwenden sie bei Bedarf
- Markieren Sie die Linux-Befehle für einen einfacheren wiederholten Aufruf
Methode 7 - Verwenden der Tasten ALT+Punkt
Wie einer unserer Leser im Kommentarbereich sagte, können wir auch ALT+.
verwenden Tasten (drücken Sie ALT+Punkt), um den letzten Befehl abzurufen, ohne ihn auszuführen. Es gibt jedoch eine Einschränkung. Drücken Sie ALT+.
ruft nur das letzte Argument im Befehl ab. Beispiel:Ihr vorheriger Befehl lautet "uname -r"
, wird nur das -r
zurückgegeben Argument, aber nicht der gesamte Befehl.
Und das ist alles. Sie wissen jetzt, wie Sie Ihren letzten Befehl wiederholen können, ohne ihn im Terminal einzugeben. Wenn Sie die Ausgabe Ihrer letzten Befehle anzeigen möchten, ohne sie tatsächlich erneut eingeben zu müssen, helfen diese Methoden.
Wenn Sie andere Methoden kennen, lassen Sie es mich bitte im Kommentarbereich unten wissen. Ich werde den Leitfaden entsprechend prüfen und aktualisieren.
Sie wussten nun, wie man einen zuvor ausgeführten Befehl wiederholt. Wie wiederholt man einen Linux-Befehl oder ein Programm, bis es erfolgreich ist? Nun, das ist einfach! Weitere Informationen finden Sie in der folgenden Anleitung.
- Wie man einen Befehl unter Linux wiederholt, bis er erfolgreich ist
Hoffe das hilft.