Befehlshistorie

LinuxBeginner
Jetzt üben

Einführung

Haben Sie schon einmal eine Website besucht, den Tab geschlossen und anschließend festgestellt, dass Sie zur Seite zurückkehren mussten? Wahrscheinlich haben Sie dafür den Verlauf Ihres Browsers verwendet.

Das Linux-Terminal bietet dieselbe Funktion. Linux speichert Ihre Befehle in einem Protokoll, der sogenannten Befehlshistorie.

Diese Funktion ist wichtig, weil die Arbeit in der Shell oft aus wiederholten Abläufen besteht. Die Historie ist nicht nur eine bequeme Hilfe für weniger Tipparbeit. Sie reduziert auch Tippfehler und ermöglicht es, bereits funktionierende Befehle wiederzuverwenden.

In diesem Lab lernen Sie, wie Sie auf dieses Protokoll zugreifen, Ihre letzten Aktionen erneut ausführen und frühere Befehle durchsuchen.

Befehlshistorie anzeigen

In diesem Schritt sehen Sie sich Ihr Befehlsprotokoll an. Die Shell speichert Ihre Befehle in einer Liste.

Erstellen Sie zunächst einige Einträge in der Historie, indem Sie diese Befehle ausführen:

ls
pwd
whoami

Zeigen Sie anschließend das Protokoll an:

history

Sie sollten eine nummerierte Liste aller von Ihnen eingegebenen Befehle sehen:

    1  ls
    2  pwd
    3  whoami

Das ist der Beleg für Ihre aktuelle Sitzung.

Die Nummern sind nützlich, denn die Historie ist nicht nur ein Tagebuch, sondern auch ein Index. Die Shell kann die gespeicherten Befehle aufrufen, erneut ausführen oder durchsuchen.

Wenn Sie nur die letzten drei Einträge anzeigen möchten, verwenden Sie:

history -3

Letzten Befehl wiederholen (!!)

In diesem Schritt verwenden Sie die Linux-Funktion zum Wiederholen des letzten Befehls: !! (ausgesprochen „bang-bang“).

Damit rufen Sie den allerletzten Befehl erneut auf.

Zeigen Sie das Datum an:

date

Geben Sie date nun nicht noch einmal vollständig ein, sondern verwenden Sie:

!!

Das Terminal ersetzt !! durch date, damit Sie den Befehl überprüfen können. Drücken Sie anschließend erneut Enter, um den erweiterten Befehl auszuführen.

Dies ist ein Beispiel für eine Historienerweiterung. Die Shell interpretiert eine Kurzreferenz auf einen früheren Befehl und ersetzt sie vor der Ausführung.

Probieren Sie es mit echo aus:

echo "Hello LabEx"
!!

Nachdem !! erweitert wurde, drücken Sie erneut Enter, um den aufgerufenen echo-Befehl auszuführen. So können Sie schnell sagen: „Führe das noch einmal aus“, während Sie den Befehl vor der Ausführung weiterhin überprüfen können.

Befehl aufrufen (Rückwärtssuche)

In diesem Schritt suchen Sie einen früheren Befehl, ohne durch die gesamte Historienliste zu blättern.

Verwenden Sie die Rückwärtssuche (Ctrl+R). Sie funktioniert ähnlich wie „Auf Seite suchen“.

Führen Sie zunächst zwei Befehle zum Testen aus:

grep "root" /etc/passwd
grep "bin" /etc/passwd

Suchen Sie nun den ersten Befehl grep "root".

Drücken Sie Ctrl+R. Die Eingabeaufforderung ändert sich zu (reverse-i-search) oder bck-i-search.

Geben Sie grep ein. Das Terminal zeigt den neuesten Treffer (grep "bin"...) an. Drücken Sie erneut Ctrl+R, um zum vorherigen Treffer (grep "root"...) zu wechseln. Drücken Sie anschließend Enter, um den Befehl auszuführen.

So arbeiten Profis schnell. Sie tippen nicht alles erneut ein, sondern suchen danach.

Diese Denkweise ist wichtig. Eine effiziente Nutzung des Terminals bedeutet nicht, dass Sie sich jeden Befehl merken und von Grund auf neu eingeben müssen. Nutzen Sie stattdessen die integrierten Werkzeuge der Shell, um bereits ausgeführte Befehle aufzurufen und anzupassen.

Zusammenfassung

In diesem Lab haben Sie gelernt, dass Sie sich nicht ausschließlich auf Ihr Gedächtnis verlassen müssen. Linux merkt sich die Befehle für Sie.

  • history: Ihr Protokoll früherer Aktionen.
  • !!: Die Funktion zum Wiederholen des letzten Befehls.
  • Ctrl+R: Die Suchfunktion, mit der Sie alte Befehle sofort finden.

Mit diesen Werkzeugen arbeiten Sie schneller und reduzieren Tippfehler. Warum sollten Sie einen langen Befehl zweimal eingeben, wenn Sie ihn einfach aus der Historie aufrufen können?