Bash fc-Befehl: Die Bash-Shell wie ein Profi handhaben

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.

# Bildschirm löschen
 clear
 
# String in die Terminalsession drucken
 echo 'working on the command line with fc'
 
# Zeige einige Systeminformationen
 uname -a
 
# Verwenden Sie den PS-Befehl, um Prozessinformationen zu erhalten
 ps aux

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.

fc -l

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.

Listing command history with fc

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.

sudo apt install caffiene -y

Als Ergebnis schlägt die versuchte Installation fehl. Sie erhalten eine Nachricht ähnlich der unten angezeigten.

Failed installation message

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.

fc

Der Screenshot unten zeigt den letzten Befehl im Nano-Editor.

Editing the last command with nano.

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 wird fc -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.

Editing the last command and saving changes to the history buffer

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

Automatically re-executing the edited command

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.

fc -l

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.

Listing the command history and finding the command number to edit

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.

fc 2

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.

Editing a past command entry in the history buffer

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.

fc 2 7

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 und ps aux.
  • Löschen Sie clear.
Editing command history entries 2 through 7 at once

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.

Automatically re-executing the edited command

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.

  1. Liste den vorherigen Befehl im Terminal aus, indem Sie den folgenden Befehl ausführen.
fc -l

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.

Listing the command history and finding the command number to execute

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.

fc -s 2

Der folgende Screenshot zeigt, wie fc den Befehl mit der Nummer 2 aus der Befehlsverlaufsliste ausführt.

Executing a previous command from the history buffer without editing

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!

Source:
https://adamtheautomator.com/bash-fc-command/