看看你用得最多的命令是什么

来源:互联网 发布:php json 汉字乱码 编辑:程序博客网 时间:2024/04/29 23:52
Ubuntu China 的论坛上看到一个比较有意思的帖子,楼主用一行命令查看自己最近使用的最多的命令。
history | awk '{print $2}' | awk 'BEGIN {FS="|"} {print $1}' | sort -rn | uniq -c | sort -rn | head
由于 Ubuntu 限制 root 用户的滥用,所以很多 Ubuntu 用户使用系统命令时往往都是通过 sudo 来执行的,而上面的命令没有考虑到这种情况。于是我自己试着用 Ruby 写了一个类似功能的脚本程序,这样可以将 sudo 所执行的命令也计算进来。刚刚运行了一下我的程序
    history | ruby top_command.rb | head
结果为
    105     ls
    73      cd
    43      vim
    42      ll
    25      sudo
    22      ruby
    18      history
    17      grep
    13      rm
    12      mv
我没事就习惯性的 ls 一下,看来比例还是满高的,呵呵。
脚本程序内容如下:
    #!/usr/bin/ruby
    # Filename:     top_command.rb
    # Author:       Patrick He
    # Date:         10/01/2006
   
    commands = Hash.new(0)
    ARGF.each do |line|
            words = line.split
            commands[words[1]] = commands[words[1]] + 1
            if words[1] == 'sudo'
                    commands[words[2]] = commands[words[2]] + 1
            end
    end
    comArr = commands.sort {|a, b| b[1]<=>a[1]}
    comArr.each {|line| print "#{line[1]}/t#{line[0]}/n"}

原创粉丝点击