找出最常用命令

找出最常用命令,首先要把.bash_history清空前存到一个地方(在此不谈实现方法)。

命令

cat /tmp/history|sed '/^\#.*$/d'|tr '(){}|;<>' '        '|awk '{print $1}'|sort|uniq -c|sort -nr|head -n 12

介绍

  1. 显示源档案到标准输出(可直接在下一步设定)

    cat /tmp/history
    
  2. 把注释除去(没必要)

    sed '/^\#.*$/d'
    
  3. 转换一些分隔符

    tr '(){}|;<>' '        '
    
  4. 输出第一列(命令)

    awk '{print $1}'
    
  5. 排序,去重复行,同时显示重复行数

    sort|uniq -c 
    
  6. 按前面的数字倒序排列

    sort -nr 
    
  7. 显示前12项(也可用其他命令实现不同效果)

    head -n 12
    

输出

#后是批注,原输出中没有。

   1407 ls      #显示目录内容
   1196 cd      #改变目录
    920 echo    #显示信息
    556 cat     #显示文件
    476 q       #退出(exit的alias)
    419 vim     #VIM编辑器
    310 ps      #输出进程信息
    297 fg      #把后台工作放到前台
    260 ll      #显示详细的目录内容(ls -al的alias)
    229 dialog  #创建对话框(有一次研究它时输入过很多)
    201 man     #显示手册页
    190 rm      #删除