先日、仲間のLinuxユーザーと私はLinuxコマンドについて話し合っていました。彼は私が最もよく使うLinuxコマンドを尋ねました。私が最も頻繁に使用するコマンドの1つはsudo
。 Linuxボックスにパッケージやその他の管理タスクをインストール、更新、削除するために毎日使用しています。 "sudo"
だと思います 多くのLinuxユーザーの中で最も頻繁に使用されるコマンドです。 Linuxで最もよく使用されるコマンドは何か疑問に思ったことがある場合は、次の方法でそれらを見つけることができます。
Linuxで最もよく使用されるコマンドを見つける
ご存知のように、履歴ファイル(~/.bash_history
)ターミナルで実行したすべてのコマンドの記録を保持します。このファイルを参照すると、最もよく使用するコマンドを簡単に見つけることができます。
Linuxボックスで最もよく使用されるコマンドのトップ5を紹介します:
$ history | awk '{print $2}' | sort | uniq -c | sort -nr | head -5
出力例:
153 sudo 118 pngquant 33 cd 30 ssh 29 exit
上記のコマンドを分解して、各オプションの機能を見てみましょう。
-
"awk '{print $2}'"
コマンドは、コマンドオプションと引数を表示せずに、履歴ファイルから最初の文字列を出力します。 -
"sort"
コマンドはすべての行をアルファベット順に並べます。 -
"uniq -c"
commandは、重複する行(入力されたコマンド)を削除してカウントします。 - そして、最後の
"sort -nr"
commandは、"uniq"
によって返されたカウント数の逆の順序でコマンドを表示します。 コマンド。
ヘッズアップ: ExplainShellを使用できます コマンドの各部分が何をするかを見つけるために。
ご覧のとおり、"sudo"
は最もよく使用されるコマンドであり、私はそれを153回使用しました。そして"exit
"は最も使用されていないコマンドです。
結果を降順(逆)、つまり最大から最小に並べ替えました。使用頻度の高いコマンドを昇順(最小から最大)で表示するには、代わりに次のコマンドを使用します。
$ history | awk {'print $2'} | sort | uniq -c | sort -n | tail -n5
出力例:
29 exit 30 ssh 33 cd 118 pngquant 153 sudo

これは、同じコマンドの別のバージョンで、少し余分な詳細が表示されています。
$ history | 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 -n5 1 177 17.7177% pngquant 2 173 17.3173% vagrant 3 101 10.1101% cd 4 71 7.10711% sudo 5 47 4.7047% ffmpeg
結果の数を制限したくない場合は、最後の(head
)を削除するだけです。 またはtail
)上記のコマンドの一部:
$ history | awk '{print $2}' | sort | uniq -c | sort -nr
前述のコマンドはBash固有です。 魚を使用している場合 シェル、実行:
$ history | cut -d ' ' -f 1 | sort | uniq -c | sort -nr | head -5
今、それはあなたの時間です。 Linuxボックスで最も頻繁に使用されるコマンドを見つけてください。