Acabei de ver este post em link
Basicamente você usa um simples script awk de uma linha
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 -n10
Uma explicação completa pode ser encontrada no link acima.
Exemplo de saída da minha máquina é:
1 211 21.1% ls
2 189 18.9% sudo
3 58 5.8% man
4 52 5.2% cd
5 43 4.3% ping
6 40 4% apropos
7 34 3.4% less
8 22 2.2% cat
9 18 1.8% which
10 18 1.8% aspell