Wenn Sie an einem Terminal arbeiten, müssen Sie häufig die zuvor ausgeführten Befehle erneut verwenden, oder Sie möchten vielleicht sogar die Statistiken der am häufigsten verwendeten Befehle finden. Die meisten Benutzer wissen, wie man den Bash-Verlauf durchsucht, indem man mit den Pfeiltasten zu vorherigen Befehlen zurückblättert. Aber weniger Benutzer wissen, dass sie viel mehr mit dem Bash-Verlauf machen können, als nur die Aufwärts- und Abwärtspfeiltasten zu verwenden.
In diesem Artikel sehen wir zwei verschiedene Methoden, mit denen Sie die Befehle sehen können, die Sie am häufigsten in Terminal verwendet haben. Wir werden Debian 10 verwenden, um das in diesem Artikel erwähnte Verfahren zu beschreiben.
Methode 1:Verwendung des Verlaufsbefehls zum Anzeigen der Befehlsstatistik
Bei dieser Methode verwenden wir den Verlaufsbefehl, um die am häufigsten verwendeten Terminalbefehle anzuzeigen. Unter Linux gibt es eine Verlaufsdatei, die sich normalerweise in ~/.bash_history befindet das einen Verlauf aller Befehle speichert, die der Benutzer in früheren Sitzungen ausgeführt hat. Die Verlaufsdatei wird jedes Mal aktualisiert, wenn die Sitzung geschlossen wird.
Es erleichtert einem Benutzer, nicht nur die Befehle zu erhalten, die er zuvor ausgeführt hat, sondern kann auch die am häufigsten verwendeten Befehle suchen. Mit dem Verlaufsbefehl können Sie sogar die am häufigsten verwendeten Befehle auflisten.
Um zu sehen, wie es funktioniert, geben Sie einfach history ein im Terminal:
$ history
Die Ausgabe ähnelt der folgenden. Sie können sehen, dass es alle zuvor ausgeführten Befehle einer aktuellen Benutzersitzung in einer Reihenfolge aufgelistet hat, wobei der neueste Befehl ganz unten steht.
Um eine Liste der letzten x anzuzeigen Anzahl der Befehle, die Sie zuvor ausgeführt haben, geben Sie history ein gefolgt von x:
$ history x
Zum Beispiel, um die letzten 6 aufzulisten Anzahl der Befehle, ersetzen Sie x mit 6 im obigen Befehl.
Verwenden Sie die folgende Syntax, um nach einem bestimmten Befehl in der Verlaufsliste zu suchen:
$ history | grep command
Zum Beispiel, um nach Netzwerk zu suchen Befehl in der Verlaufsliste, führen Sie den folgenden Befehl im Terminal aus:
$ history | grep network
1. Zeigen Sie die Liste der am häufigsten verwendeten Befehle an
Wir haben die Verwendung des History-Befehls gesehen. Jetzt verwenden wir den Verlaufsbefehl, um die am häufigsten verwendeten Befehle im Terminal anzuzeigen. Führen Sie dazu den folgenden Befehl in einem Terminal aus:
$ history | awk 'BEGIN {FS="[ \t]+|\\|"} {print $3}' | sort | uniq -c | sort -nr
Aus der obigen Ausgabe können Sie die Verlaufsliste sehen, in der die neuesten Befehle oben und die am wenigsten verwendeten unten seit der Installation Ihres Betriebssystems stehen. Gemäß obigem Ergebnis Geschichte command war der am häufigsten verwendete Befehl und wurde 13 Mal verwendet, der zweite Befehl war ip und das dritte war ping . Ebenso war der am wenigsten verwendete Befehl systemctl , es wurde einmal verwendet.
2. Sehen Sie sich die genaue Anzahl der am häufigsten verwendeten Befehle an
Wir können auch nur die spezifische Anzahl der am häufigsten verwendeten Befehle anzeigen. Führen Sie dazu den folgenden Befehl in einem Terminal aus.
$ history | awk 'BEGIN {FS="[ \t]+|\\|"} {print $3}' | sort | uniq -c | sort -nr | head -n x
Zum Beispiel, um nur die obersten 4 anzuzeigen am häufigsten verwendeten Befehle, ersetzen Sie x mit der 4 .
3. Zeigen Sie die Liste der am häufigsten verwendeten Befehle in umgekehrter Reihenfolge an
Es ist auch möglich, die Verlaufsliste in umgekehrter Reihenfolge anzuzeigen, dh die letzten unten und die früheren oben. Verwenden Sie dazu denselben obigen Befehl, aber ohne r Option für die zweite Sortierung, wie im folgenden Befehl gezeigt.
$ history | awk 'BEGIN {FS="[ \t]+|\\|"} {print $3}' | sort | uniq -c | sort -n | head -n x
Jetzt sehen Sie den Verlauf in umgekehrter Reihenfolge.
4. Zeigen Sie die Liste der am häufigsten verwendeten Befehle nach Vorkommen an
Verwenden Sie die folgende Syntax, um die Verlaufsliste nur der Befehle anzuzeigen, die einmal, zweimal oder eine bestimmte Anzahl von Malen ausgeführt wurden:
$ history | awk 'BEGIN {FS="[ \t]+|\\|"} {print $3}' | sort | uniq -c | sort -n | grep ' x '
Ersetzen Sie x mit beliebiger Nummer.
Um beispielsweise die Liste der Befehle anzuzeigen, die nur zweimal aufgetreten sind, ersetzen Sie x mit 2 in der obigen Syntax:
$ history | awk 'BEGIN {FS="[ \t]+|\\|"} {print $3}' | sort | uniq -c | sort -n | grep ' 2 '
Hier sind einige weitere Optionen, die Sie mit dem Verlaufsbefehl verwenden können:
5. Einen bestimmten Eintrag aus dem Verlauf löschen
Um eine bestimmte Zeile aus Ihrem Shell-Verlauf zu löschen, führen Sie den folgenden Befehl aus.
$ history -d <line number>
Zum Beispiel, um die Zeilennummer 19 zu löschen Ersetzen Sie in der Liste
Der obige Befehl löscht den Eintrag entsprechend der Zeilennummer 19 .
6. Ohne Speichern des Verlaufs beenden
Wenn Sie das Terminal verlassen möchten, ohne einen Verlauf zu speichern, verwenden Sie den folgenden Befehl:
$ kill -9 $$
7. Gesamten Verlauf löschen
Sie können sogar den gesamten Verlauf für die aktuelle Benutzersitzung löschen. Verwenden Sie dazu den folgenden Befehl:
$ history -c
Methode 2 # Erstellen Sie eine Funktion zum Anzeigen der Befehlsstatistik
Es gibt eine andere Methode, mit der Sie die Liste der am häufigsten ausgeführten Befehle im Terminal anzeigen können. Um es zu verwenden, führen Sie zuerst den folgenden Befehl im Terminal aus, um eine Funktion zu erstellen:
$ function zsh-stats() { fc -l 1 | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;}' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl | head -n25; }
Führen Sie dann den folgenden Befehl aus, um diese Funktion aufzurufen:
$ zsh-stats
Sie sehen eine ähnliche Ausgabe wie diese.
In der obigen Ausgabe sehen Sie die vier Spalten, die als Ausgabe für den obigen Befehl angezeigt werden. Die erste Spalte zeigt die Indexnummer, die zweite und dritte die Häufigkeit und den Prozentsatz des Auftretens der am häufigsten verwendeten Befehle entsprechend und die letzte den Befehlsnamen.
So können wir also die am häufigsten verwendeten Terminal-Befehle in unserem Debian 10-Betriebssystem sehen. Wir haben oben zwei Methoden besprochen, nämlich den Befehl history und die Funktion zsh-stats. Sie können jede Methode nach Belieben verwenden. Es ist jedoch zu beachten, dass beide oben genannten Methoden den Befehlsverlauf nur für eine aktuelle Benutzersitzung anzeigen.