historyをカスタマイズ!!
とは言っても、Ubuntu様の.bashrcをほぼそのまま使ってます。
Ubuntuはかゆいところに手が届く設定が最初から随所にされているので本当に素晴らしい。
他にも、「こんなの便利だよ!」とかあったら教えてもらいたい。
# don't put duplicate lines in the history. See bash(1) for more options # ... or force ignoredups and ignorespace HISTCONTROL=ignoredups:ignorespace # Include a time stamp on history HISTTIMEFORMAT='%m/%d %T ' # append to the history file, don't overwrite it shopt -s histappend # for setting history length see HISTSIZE and HISTFILESIZE in bash(1) HISTSIZE=10000 HISTFILESIZE=20000 # Synchronize the history between the terminals function sync_history { history -a history -c history -r } PROMPT_COMMAND='sync_history'
コメントつけてますが、一応各項目の解説をします。
連続した同一コマンド、先頭にスペースを含むコマンドの実行を記録しない
lsとかdfとか同じコマンドを連続実行してhistoryを埋め尽くしてしまうことはありませんか?
コレを設定すればそんなことはなくなります。
HISTCONTROL=ignoredups:ignorespace
タイムスタンプを記録
コマンドをいつ実行したのかがわかるようになります。
「あの設定したのっていつだっけ」と思って設定ファイルをstatしても、最近の更新情報しか確認できないけど、コレを設定しておけば遡れるようになるので便利。
HISTTIMEFORMAT='%m/%d %T '
この例だとこんな感じになる。
751 05/08 16:12:38 history 752 05/08 16:13:01 vim .bashrc 753 05/08 16:13:22 history 754 05/08 16:14:14 vim .bashrc 755 05/08 16:14:32 . .bashrc 756 05/08 16:14:34 history
historyファイルを上書きするのではなく、追記する
shopt -s histappend
コマンド履歴の保存件数を設定
デフォルトだと、「ファイルに1000件、メモリに2000件」だが、すぐ埋まってしまうので10倍にしてます。
HISTSIZE=10000 HISTFILESIZE=20000