コマンド使用頻度
なんか、最近シェルのコマンドヒストリから実行コマンドの使用頻度をさらすのがはやっているようなのでやってみた。シェルは zsh。/home が nfs でマウントされている上に、ヒストリサイズが大きめにしているので、ヒストリ自体が結構でかい。
とりあえず、コマンドだけ抽出してみる。
% history 1 | awk '{print $2}' | sort | uniq -c | sort -r | ruby -ane 'puts $_ if $F[0].to_i >= 200' 13407 ls 12888 cd 3099 make 1601 perl 1227 svn 1203 less 1127 sudo 1031 rm 795 python 793 fg 770 vi 666 ./kwic 640 ack 509 top 453 ./plagger 420 fgrep 412 view 401 find 361 cp 356 man 336 ant 330 ruby 294 mv 292 ./search 287 ssh 286 screen 279 apt-cache 277 egrep 261 ./test 236 mkdir 230 ./configure 217 emacs 214 svk 204 l 203 gvim
コマンドライン全部含めた結果。
% history 1 | ruby -ne 'puts /^\s*\d+\s+(.*)$/.match($_)[1]' | sort | uniq -c | sort -r | ruby -ane 'puts $_ if $F[0].to_i >= 100' 12397 ls 2700 make 2602 cd .. 846 cd 830 cd work 793 fg 764 cd 535 cd src 507 top 482 cd kwic 322 svn st 319 perl test.pl 296 cd Jet 282 ./plagger 229 cd lib 225 cd plagger 213 cd workspace 212 ls -al 201 l 156 svn up 149 sudo su - 147 cd data 145 make clean 141 cd - 139 ls -lh 132 python 130 cd cgi 124 s 122 cd trunk 112 perl crawl.pl 109 rehash 106 cd tmp 106 cd oak 101 ant
ls しすぎ。しかし案外「./」 で始まるコマンドが多いな。ちなみに fg が多いのは emacs を Control-z で suspend して shell でちょっとした処理して、resume ってのをよくやるから。screen も使っているんだけど、なんか指がその一連の動作に慣れてるんだよな。
あと、「sudo su - 」って何のための sudo だよって話だなぁ。