端末から同一のコマンドを何度も実行することがありますよね。
この場合、実行した回数分historyの履歴に保存されています。
これを同一のコマンドを続けた場合(重複した場合)は1つだけ履歴に残す設定方法があります。
その設定方法を以下に記します。
本資料は、bashを使用して動作確認を行いました。
sakura@ubuntu:~$ LANG=C bash --version GNU bash, version 4.2.25(1)-release (i686-pc-linux-gnu) <snip>
環境変数 HISTCONTROL に ignoredups を指定することにより、端末から同一コマンドを連続して実行するとき、
重複するコマンドは履歴対象外となります。
export HISTCONTROL=ignoredups
以下に HISTCONTROL=ignoredups を設定し試してみます。
sakura@ubuntu:~$ history -c sakura@ubuntu:~$ ls -l 合計 0
sakura@ubuntu:~$ history 1 ls -l 2 history
sakura@ubuntu:~$ export HISTCONTROL=ignoredups sakura@ubuntu:~$ history 1 ls -l 2 history 3 export HISTCONTROL=ignoredups 4 history
sakura@ubuntu:~$ history 1 ls -l 2 history 3 export HISTCONTROL=ignoredups 4 history
sakura@ubuntu:~$ history 1 ls -l 2 history 3 export HISTCONTROL=ignoredups 4 history sakura@ubuntu:~$
以上、export HISTCONTROL=ignoredups を設定することにより、連続し重複する履歴は保存されないようになります。
常にこの設定を有効にしたい場合は、.bashrcや.bash_profileに追記すればよいでしょう。