Haben Sie jemals einen Befehl in Bash ausgeführt und einen Fehler aufgrund eines falsch geschriebenen Wortes erhalten? Oder haben Sie vielleicht die letzten drei ausgeführten Befehle vergessen? Anstatt vorherige Befehle neu zu schreiben oder sich daran zu erinnern, kann der Bash fc
-Befehl dabei helfen, schnelle Änderungen vorzunehmen und vorherige Befehle erneut auszuführen.
In diesem Artikel erfahren Sie, wie Sie fc
nutzen können, um Befehle aus Ihrer Befehlshistorie zu bearbeiten und erneut auszuführen. Nachdem Sie diesen Leitfaden gelesen haben, werden Sie fc
wie ein echter Kommandozeilen-Krieger beherrschen!
Voraussetzungen
Dieser Artikel wird ein Tutorial sein. Wenn Sie Schritt für Schritt folgen möchten, benötigen Sie einen Linux-Computer oder einen Windows 10-Computer mit aktivierter Windows-Subsystem für Linux (WSL). In diesem Tutorial wird Ubuntu 20.04 LTS verwendet.
Über den Bash fc
-Befehl
fc
ist keine Linux-Anwendung, sondern ein integrietes Shell-Dienstprogramm in Bash. Bash ist in den meisten gängigen Linux-Distributionen verfügbar. Mit ein paar Tastenanschlägen können Sie mit dem Bash fc
-Befehl vorherige Befehle auflisten, bearbeiten oder ausführen.
Der Befehl
fc
ist auch in der Z Shell (ZSH) verfügbar.
Haben Sie einen langen Befehl ausgeführt, der sich als falsch herausstellte? fc
erspart Ihnen das Neueintippen des gesamten Befehls. Stattdessen können Sie den Befehl mithilfe des Texteditors Ihrer Wahl bearbeiten. Nachdem Sie Ihre Änderungen gespeichert haben, werden die bearbeiteten Befehle automatisch ausgeführt!
Bereit, fc
auszuprobieren? Lassen Sie uns eintauchen!
Auflisten früherer Befehle
Sind Sie von Ihrem Computer weggegangen, zurückgekommen und haben vergessen, welchen Befehl Sie zuletzt ausgeführt haben? Oder vielleicht können Sie sich nicht erinnern, ob Sie mehrere Befehle in der richtigen Reihenfolge ausgeführt haben. Was tun Sie? Keine Sorge, fc
wird Ihnen helfen, sich zu erinnern. So funktioniert’s.
1. Öffnen Sie ein Bash-Terminal auf Ihrem Computer.
2. Damit fc
funktionieren kann, muss es über eine Art Befehlshistorie verfügen, mit der es arbeiten kann. Da Sie gerade ein neues Terminalfenster geöffnet haben, gibt es möglicherweise noch keine Befehlshistorie. Um eine Befehlshistorie zum Testen aufzubauen, kopieren Sie jeden der folgenden Befehle und führen Sie ihn in Ihrem Terminal aus. Diese Befehle sind nicht invasiv, und Sie bringen Ihren Computer nicht in Gefahr.
3. Als nächstes listen Sie alle Befehle im Verlauf auf, indem Sie den folgenden Befehl ausführen. Die Option -l
weist fc
an, nur alle vorherigen Befehle aufzulisten und sie nicht auszuführen.
Wie Sie unten sehen können, hat der Befehl fc
alle vier Befehle angezeigt, die Sie zuvor ausgeführt haben. Die Zahlen auf der linken Seite zeigen die Reihenfolge an, in der Sie jeden Befehl ausgeführt haben.

Bearbeiten und Erneutes Ausführen des Letzten Befehls
Stellen Sie sich eine Situation vor, in der Sie eine Anwendung installieren und einen Rechtschreibfehler gemacht haben. Als Ergebnis schlägt der Befehl fehl. Anstatt den gesamten Befehl neu einzugeben, warum nicht den Befehl bearbeiten und automatisch neu ausführen? Befolgen Sie dazu diese Schritte.
1. Simulieren Sie die Installation einer nicht existierenden Anwendung, indem Sie den folgenden Befehl in Ihrem Terminal ausführen. Beachten Sie, dass Sie absichtlich den Namen der Anwendung falsch schreiben caffiene
.
Als Ergebnis schlägt die versuchte Installation fehl. Sie erhalten eine Nachricht ähnlich der unten angezeigten.

2. Um den zuletzt ausgeführten Befehl zu korrigieren, führen Sie den folgenden Befehl im Terminal aus. Dadurch wird der Befehlsverlaufspuffer im Standard-Texteditor geöffnet. In diesem Beispiel ist der Standard-Texteditor nano.
Der Screenshot unten zeigt den letzten Befehl im Nano-Editor.

Wenn nano nicht Ihr bevorzugter Texteditor ist, können Sie
fc
anweisen, einen anderen Editor zu verwenden, wie zum Beispiel vi. Geben Sie dazu die Option-e
gefolgt vom Namen des Texteditors ein. Zum Beispiel wirdfc -e vi
den Befehlsverlauf im Texteditor vi öffnen.
3. Sobald Sie sich im Nano-Texteditor befinden, korrigieren Sie den Anwendungsnamen von caffiene
auf caffeine
.
4. Nachdem Sie den Anwendungsnamen korrigiert haben, drücken Sie CTRL+X
, um Nano zu verlassen.
5. Bei der nächsten Aufforderung, die besagt, dass Sie den modifizierten Puffer speichern sollen, drücken Sie Y —> Enter
, um die Änderungen zu speichern.

Nach dem Verlassen des Texteditors führt fc
automatisch den bearbeiteten Befehl aus.

Bearbeiten und Erneutes Ausführen eines Vorherigen Befehls
Mit fc
können Sie nicht nur den zuletzt ausgeführten Befehl bearbeiten, sondern auch jeden zuvor ausgeführten Befehl. Um zum Beispiel den Befehl echo 'working on the command line with fc'
zu bearbeiten, befolgen Sie diese Schritte.
1. Listen Sie den vorherigen Befehl im Terminal auf, indem Sie den folgenden Befehl ausführen.
2. Finden Sie den Befehl, den Sie bearbeiten möchten, in der Befehlshistorienliste und merken Sie sich die Nummer links davon. In diesem Beispiel ist die Befehlsnummer 2.

3. Um den Befehl mit der Nummer 2 zu bearbeiten, führen Sie den folgenden Befehl im Terminal aus. Der Befehl wird im Texteditor zur Bearbeitung geöffnet.
4. Nachdem Sie sich im Texteditor befinden, bearbeiten Sie den Befehl nach Bedarf.
5. Nachdem Sie den Befehl bearbeitet haben, drücken Sie CTRL+X
, um nano zu verlassen.
6. Bei der nächsten Aufforderung, die Sie nach dem Speichern des geänderten Puffers? sehen, drücken Sie Y
—> Enter
, um die Änderungen zu speichern.

Nach dem Speichern des Befehls und Verlassen des Texteditors wird der von Ihnen bearbeitete Befehl automatisch in der Shell ausgeführt.
Bearbeiten und erneutes Ausführen mehrerer Befehle
Wenn Sie denken, dass fc
nur einen vorherigen Befehl gleichzeitig bearbeiten und ausführen kann, werden Sie sich freuen. Warum? fc
ermöglicht es Ihnen auch, mehrere vorherige Befehle zu bearbeiten. Wie ist das Bearbeiten mehrerer vorheriger Befehle nützlich? Zum Beispiel können Sie die Reihenfolge der Befehlsausführung ändern.
Angenommen, Sie möchten die vorherigen Befehle von 2 bis 7 bearbeiten. Gehen Sie dazu wie folgt vor.
1. Führen Sie den unten stehenden Befehl in Ihrem Bash-Terminal aus und drücken Sie Enter. Der Befehl lautet fc <space> 2 <space> 7
, was bedeutet, dass fc
die Befehle 2 bis 7 zum Bearbeiten öffnet.
2. Bearbeiten Sie anschließend die Befehle nach Bedarf. In diesem Beispiel:
- Löschen Sie den Befehl
sudo apt install caffiene -y
. - Vertauschen Sie die Reihenfolge von
uname -a
undps aux
. - Löschen Sie
clear
.

3. Nach dem Bearbeiten der Befehle drücken Sie CTRL+X
, um nano zu verlassen.
4. Bei der nächsten Aufforderung, die Sie nach dem Speichern des geänderten Puffers? sehen, drücken Sie Y
—> Enter
, um die Änderungen zu speichern.
Die von Ihnen bearbeiteten Befehle werden automatisch nach dem Verlassen des Texteditors ausgeführt.

Ausführung eines vorherigen Befehls ohne Bearbeitung
Angenommen, Sie müssen nur einen vorherigen Befehl ohne Bearbeitung ausführen. Der Befehl fc
hat dafür eine Option. Befolgen Sie die unten stehenden Schritte, um einen vorherigen Befehl aus der Verlaufsliste auszuführen.
- Liste den vorherigen Befehl im Terminal aus, indem Sie den folgenden Befehl ausführen.
2. Suchen Sie aus der Befehlsverlaufsliste den Befehl, den Sie erneut ausführen möchten, und notieren Sie sich die Zahl links davon. In diesem Beispiel ist die Befehlsnummer 2.

3. Führen Sie den spezifischen vorherigen Befehl aus, indem Sie den folgenden Befehl in der Shell ausführen. Die Option -s
weist fc
an, die Bearbeitung zu überspringen und Befehlsnummer 2 auszuführen.
Der folgende Screenshot zeigt, wie fc
den Befehl mit der Nummer 2 aus der Befehlsverlaufsliste ausführt.

Zusammenfassung
In diesem Artikel haben wir versucht, Ihr Interesse an einem nützlichen, aber oft übersehenen und vergessenen Befehl namens fc
zu wecken. Sie haben gelernt, wie Sie fc
verwenden können, um zu vermeiden, vorher ausgeführte Befehle erneut eingeben zu müssen, was eine Zeitverschwendung sein kann.
Mit dem Wissen, das Sie jetzt über fc
haben, denken Sie, dass Sie es verwenden würden? Oder ziehen Sie es immer noch vor, Befehle in der Shell neu einzugeben? Treffen Sie eine kluge Entscheidung!