一条命令看你的 Linux 做些啥
时间:2014-11-20 13:03 来源:未知 作者:admin
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
拆解:
1. history 是显示最近约 500 条在终端执行的命令;
2. awk 是个比较实用而又复杂的文本过滤工具。在这里的作用是统计 history 产生的输出的第二个域(即命令)重复的次数,也就是命令使用的次数,并以计算其百分比;
3. grep 这段的意思是不匹配"./"的命令,因为以"./"开头的一般是当前目录下的程序或脚本;
4. coumn 用于排版,用 3 个空格分割字段;
5. sort,以数字的大小来排列前一管道的输出;
6. nl,加上行号,即1, 2, 3, 4;
7. 只输出前十行。
(责任编辑:IT)
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 拆解: 1. history 是显示最近约 500 条在终端执行的命令; 2. awk 是个比较实用而又复杂的文本过滤工具。在这里的作用是统计 history 产生的输出的第二个域(即命令)重复的次数,也就是命令使用的次数,并以计算其百分比; 3. grep 这段的意思是不匹配"./"的命令,因为以"./"开头的一般是当前目录下的程序或脚本; 4. coumn 用于排版,用 3 个空格分割字段; 5. sort,以数字的大小来排列前一管道的输出; 6. nl,加上行号,即1, 2, 3, 4; 7. 只输出前十行。 (责任编辑:IT) |