2013年5月25日土曜日

コマンド履歴

unixコマンドのhistoryの出力はシェルによって微妙に変わるらしい。
最近使うシェルをcshからtcshに変えました。
bashとかkshとか使ってる人はunixコマンドが得意そうに見えるけどtcshは便利だけどシェルスクリプトを作るのにはあまり使われないのかな?僕の様な面倒くさがりの人間は↑↓でコマンド履歴がすぐ使えるのが便利なので変えたのです。

history | head とか打つと

   274  20:50   ls -lst
   275  20:50   g ; ; booltest.cc -o booltest
   276  20:51   g++ booltest.cc -o booltest
   277  20:51   ls -lst
   278  20:51   ./booltest
   279  20:52   vim booltest.cc
   280  20:52   ./booltest
   281  20:54   date
   282  20:54   vim booltest.cc
   283  20:54   g++ booltest.cc -o booltest

とか表示されます。この時はbooltest.ccのプログラムを何度も編集してはコンパイルしてたらしいです。275はお恥ずかしい事にタイプミスまでしてます。

よく使うコマンド履歴はgoogleさんで調べると

history | awk '{print \$3}' | sort | uniq -c | sort -rn | head -n 10

となるらしいです。print $3の箇所は上の例の時刻が表示されない場合は$2とかになります。
これを実行すると

 120 ls
  87 vim
  37 g++
  32 cd
  23 make
  16 vi
  12 which
  11 cls
  10 top10
   9 time

うーん、典型的な初心者ですかね。lsをものすごく使ってます。clsをみてオヤッと思われるかもしれませんがこれはclearのaliasです。top10は上のコマンドをシェルスクリプトに書いて10回も試したのが出ています。

0 件のコメント:

コメントを投稿