GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So verwenden Sie den Verlaufsbefehl unter Linux

Da ich immer mehr Zeit in Terminalsitzungen verbringe, habe ich das Gefühl, dass ich ständig neue Befehle finde, die meine täglichen Aufgaben effizienter machen. Die GNU history Befehl ist einer, der meinen Arbeitstag wirklich verändert hat.

Die GNU history Der Befehl führt eine Liste aller anderen Befehle, die von dieser Terminalsitzung ausgeführt wurden, und ermöglicht Ihnen dann, diese Befehle abzuspielen oder wiederzuverwenden, anstatt sie erneut einzugeben. Wenn Sie ein erfahrener Terminalbenutzer sind, wissen Sie um die Macht der history , aber für uns Dabbler oder neue Sysadmin-Leute, history ist ein sofortiger Produktivitätsgewinn.

Zunächst einmal die history Befehl ist nicht wirklich ein Befehl. Sie können dies selbst sehen, indem Sie auf Ihrem System nach dem Befehl suchen:

$ which history
which: no history in (/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/local/sbin)

Ihr Computer kann den history nicht finden Befehl, weil es ein eingebautes Schlüsselwort Ihrer Shell ist. Da es in die von Ihnen verwendete Shell geschrieben ist, kann es einige Unterschiede im Verhalten des Verlaufs geben, je nachdem, ob Sie Bash, tcsh, Zsh, dash, fish, ksh usw. verwenden. Dieser Artikel basiert auf der Bash-Implementierung des Verlaufs, daher funktionieren einige Funktionen möglicherweise nicht in anderen Shells. Die meisten Grundfunktionen sind jedoch gleich.

Geschichte 101

Zum Anzeigen des history in Aktion, öffnen Sie ein Terminalprogramm auf Ihrer Linux-Installation und geben Sie Folgendes ein:

$ history

Hier ist die Antwort, die ich erhalten habe:

1  clear
2  ls -al
3  sudo dnf update -y
4  history

Der history Befehl zeigt eine Liste der seit Beginn der Sitzung eingegebenen Befehle. Die Freude an history ist, dass Sie jetzt jeden von ihnen wiedergeben können, indem Sie einen Befehl wie den folgenden verwenden:

$ !3

Der !3 Befehl an der Eingabeaufforderung weist die Shell an, den Befehl in Zeile 3 der Verlaufsliste erneut auszuführen. Ich könnte auch auf diesen Befehl zugreifen, indem ich Folgendes eingebe:

$ !sudo dnf

Dies ruft history auf um nach dem letzten Befehl zu suchen, der mit dem von Ihnen angegebenen Muster übereinstimmt (in diesem Fall ist dieses Muster dnf ) und führen Sie es aus.

Suchverlauf

Sie können auch den history verwenden um den zuletzt eingegebenen Befehl erneut auszuführen, indem Sie !! eingeben . Indem Sie es mit grep koppeln können Sie nach Befehlen suchen, die einem Textmuster entsprechen, oder indem Sie es mit tail verwenden , finden Sie die letzten Befehle, die Sie ausgeführt haben. Zum Beispiel:

$ history | grep dnf
3  sudo dnf update -y
5  history | grep dnf

$ history | tail -n 3
4  history
5  history | grep dnf
6  history | tail -n 3

Sie können diese Suchfunktion auch aufrufen, indem Sie Ctrl-R eingeben um eine rekursive Suche in Ihrem Befehlsverlauf aufzurufen. Nachdem Sie dies eingegeben haben, ändert sich die Eingabeaufforderung zu:

(reverse-i-search)`':

Jetzt können Sie mit der Eingabe eines Befehls beginnen und passende Befehle werden angezeigt, die Sie ausführen können, indem Sie Return drücken oder Eingabe .

Ändern eines ausgeführten Befehls

Sie können auch den history verwenden um einen Befehl mit anderer Syntax erneut auszuführen. Sie können den Verlauf mit history überarbeiten . Wenn ich beispielsweise meinen vorherigen Befehl history | grep dnf zur history | grep ssh , kann ich an der Eingabeaufforderung Folgendes ausführen:

$ ^dnf^ssh^

Der Befehl wird erneut ausgeführt, aber mit dnf ersetzt durch ssh . Mit anderen Worten, dieser Befehl wird ausgeführt:

$ history | grep ssh

Verlauf wird entfernt

Es kann vorkommen, dass Sie einige oder alle Befehle in Ihrer Verlaufsdatei entfernen möchten. Wenn Sie einen bestimmten Befehl löschen möchten, geben Sie history -d <line number> ein . Um den gesamten Inhalt der Verlaufsdatei zu löschen, führen Sie history -c aus .

Die Verlaufsdatei wird in einer Datei gespeichert, die Sie ebenfalls ändern können. Bash-Shell-Benutzer finden es in ihrem Home-Verzeichnis als .bash_history .

Nächste Schritte

Es gibt eine Reihe anderer Dinge, die Sie mit history tun können :

  • Stellen Sie die Größe Ihres Verlaufspuffers auf eine bestimmte Anzahl von Befehlen ein
  • Notieren Sie das Datum und die Uhrzeit für jede Zeile im Verlauf
  • Verhindern, dass bestimmte Befehle im Verlauf aufgezeichnet werden

Weitere Informationen zur history Befehl und andere interessante Dinge, die Sie damit machen können, werfen Sie einen Blick auf Seth Kenlons Artikel über das Parsen des Verlaufs, Modifikatoren für die Verlaufssuche und das GNU Bash-Handbuch.


Dieser Artikel wurde ursprünglich im Juni 2018 veröffentlicht und vom Herausgeber mit zusätzlichen Informationen aktualisiert.


Linux
  1. So verwenden Sie den Linux-Grep-Befehl

  2. So verwenden Sie den sudo-Befehl unter Linux

  3. So verwenden Sie den Su-Befehl unter Linux

  4. So verwenden Sie den id-Befehl unter Linux

  5. So verwenden Sie den Befehl „screen“ unter Linux

So verwenden Sie den Linux Top-Befehl

So verwenden Sie den fd-Befehl auf einem Linux-System

Wie verwende ich den wget-Befehl unter Linux?

Wie verwende ich den xargs-Befehl unter Linux?

So verwenden Sie den RPM-Befehl unter Linux

So verwenden Sie den which-Befehl in Linux