打印出最常用的10条命令

回复 收藏
本帖最后由 balich 于 2016-3-30 09:13 编辑

大家都知道,我们输入的命令都存储在~/.bash_history文件里面,默认存储的是1000条记录,使用一条命令打印出我们最常用的10条命令,大家和可以练练脚本如下。
  1. $ cat ~/.bash_history | awk '{ list[$1]++; } END { for ( i in list) {printf ("%s\t%d\n",i,list[i]);}}'|sort -nrk 2 |head
  2. sudo    255
  3. ll      106
  4. ls      62
  5. vim     47
  6. cat     45
  7. rm      44
  8. cd      32
  9. w       30
  10. awk     29
  11. ifconfig        28


2016-03-30 09:12 举报
已邀请:
0

乐橙306

赞同来自:


  1. sudo    255   后面还有命令  未完整显示

  2. [root@niaoyun-101 conf]# history   | tail  -1  
  3. 1093  2016-03-30 12:01:10 root history   | tail  -1  
  4. [root@niaoyun-101 conf]# history   |  awk -F 'root' '{print $2}'  |  sort  | uniq -c |  sort   -nr  |  head  -10
  5.     127  ll
  6.      39  ls
  7.      21  netstat  -lnp
  8.      18  w
  9.      10  su  -  tomcat
  10.      10  /opt/TOM/t1/bin/shutdown.sh
  11.      10  date
  12.      10  cd  /tmp/
  13.       9  cd  ../
  14.       8  vi 1.sh
  15. [root@niaoyun-101 conf]#
0

qidi2015

赞同来自:

本帖最后由 qidi2015 于 2016-3-30 16:15 编辑
  1. [root@di ~]# time awk '{list[$1]++}END{for(k in list)print list[k],k}' ~/.bash_history |sort -nr|head
  2. 153 ls
  3. 144 awk
  4. 135 cd
  5. 59 vim
  6. 50 ll
  7. 45 w
  8. 41 cat
  9. 26 lh
  10. 24 grep
  11. 19 netstat

  12. real        0m0.005s
  13. user        0m0.002s
  14. sys        0m0.002s
  15. [root@di ~]# time awk '{print $1}' ~/.bash_history |sort |uniq -c |sort -nr|head
  16.     153 ls
  17.     144 awk
  18.     135 cd
  19.      59 vim
  20.      50 ll
  21.      45 w
  22.      41 cat
  23.      26 lh
  24.      24 grep
  25.      19 netstat

  26. real        0m0.010s
  27. user        0m0.006s
  28. sys        0m0.000s



管道越多,效率越慢,能直接awk读取文件,就不要用cat 然后再用管道往awk里面丢。

0

kongfanqian

赞同来自:

awk -F ' ' '{print $1}' ~/.bash_history |sort -r|uniq -c|sort -k1 -n|tail -10
0

balich

赞同来自:

qidi2015 发表于 2016-3-30 16:05
管道越多,效率越慢,能直接awk读取文件,就不要用cat 然后再用管道往awk里面丢。

说的有理,实践出真知
0

qidi2015

赞同来自:


你用的小鸟云?
0

乐橙306

赞同来自:

本帖最后由 乐橙306 于 2016-3-31 09:40 编辑

恩      主要是便宜  头两个月  14块钱就搞定了

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: