Wie kann ich eine Liste mit den am häufigsten verwendeten Befehlen im Terminal erstellen?
Ich weiß, dass diese Frage für zukünftige Vorschläge für einige von uns ungewöhnlich sein kann, aber auch so kann die Liste nützlich sein, wenn wir uns nicht an einen Befehl erinnern, der einmal oder einige Male in der Vergangenheit verwendet wurde, wenn wir nach dem suchen können Ende dieser Liste.
command-line
bash
history
Radu Rădeanu
quelle
quelle
Antworten:
Wir werden die Datensätze aus der
.bash_history
Datei verwenden, um dies zu tun. Mit dem nächsten Befehl erhalten Sie eine Liste aller Befehle, damit Sie sie am häufigsten verwenden:Wenn Sie nur Top 10 wollen, müssen Sie
head
bei dem obigen Befehl hinzufügen :Um ein bestimmtes Top zu erhalten, zum Beispiel Top 5, verwenden Sie
head
mit der-n 5
Option:Wenn Sie möchten, dass die Liste in umgekehrter Reihenfolge
r
angezeigt wird (oben mit den selten verwendeten Befehlen), verwenden Sie oprion nicht für den zweiten Schrittsort
:Und schließlich, um eine Liste mit den Befehlen zu erhalten, die zum Beispiel einmal verwendet wurden, verwenden Sie
grep ' 1 '
(ändern Sie1
mit der gewünschten Nummer):Um mit
sudo
Befehlen (wiesudo vim foo
) umzugehen , verwenden Sie anstelle des{print $3}
Befehls awk:Der gesamte Befehl würde also so aussehen:
Beispielsweise:
Sie können den Sprung in Zählungen für sehen
vim
,rm
usw.quelle
sudo -i
weil sie mir-i
den Befehl gibtsudo -i
startet eine neue Shell. Diese Geschichte ist nicht mehr in der Geschichte deiner Muschel, sondern inroot
der. Offensichtlich funktionieren diese Befehle nicht für viele Randfälle. Es gibt keine Möglichkeit, mit allen möglichen Befehlen umzugehen, ohne einen eigenen Parser für die Shell-Sprache zu schreiben.if ($3 ~ /sudo/ && $4 !~ /^-/)
Unter Befehl werden auch die
top 10
am häufigsten verwendeten Terminalbefehle aufgelistet.Befehl, um alle Befehle aufzulisten, die am häufigsten im Terminal verwendet werden.
quelle
Fish & Bash - Die Frage gibt keine bestimmte Shell an, nur "Terminal". Ändern Sie den Kopf auf die gewünschte Nummer.
Fisch
history | awk '{print $1}' | sort | uniq --count | sort --numeric-sort --reverse | head -10
Dieser Bash scheint zu funktionieren und ist etwas kürzer und verständlicher als die anderen Antworten. Ich mag die langen Optionen, die die Lesbarkeit in solchen Beispielen verbessern.
Bash
history | awk '{print $2}' | sort | uniq --count | sort --numeric-sort --reverse | head -10
quelle