日期:2014-05-16  浏览次数:20649 次

利用awk统计Linux下最常用的20条命令的shell

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 -n20

这个shell用awk统计history中的命令出现的次数,去掉 “./” 这样不算命令的情况,最后排序输出,列出前20个。 我最常用的前20个命令如下:

1 129 12.9% ls
2 112 11.2% vim
3 85 8.5% exit
4 78 7.8% yum
5 78 7.8% cd
6 66 6.6% free
7 31 3.1% top
8 26 2.6% ps
9 22 2.2% history
10 18 1.8% rm
11 18 1.8% pstree
12 17 1.7% cp
13 16 1.6% tar
14 16 1.6% mv
15 14 1.4% wget
16 14 1.4% cat
17 13 1.3% chmod
18 12 1.2% iptraf
19 10 1% chown
20 10 1% chgrp