[Linux] historyに履歴を残さない方法

先に結論

HISTCONTROL=ignorespace
をコマンドラインに打ち込み、先頭にスペースを1つ入れて実行すると、入力したコマンドが履歴に残らなくなる。

# 通常のコマンド入力
cd ./hoge

history
>>   1  cd ./hoge # 履歴に残ってしまう
>>   2  history

# ここから履歴を残さない手順開始

# 1. オプションを有効にする
HISTCONTROL=ignorespace

# 2. コマンド実行の際、先頭に1つスペースを入れる
 cd ./hoge2

history
>>   1  cd ./hoge 
>>   2  history
>>   3  history
# cd ./hoge2 のコマンドが履歴に残らなくなる

# スペースを入れずに実行
cd ./hoge3

history
>>   1  cd ./hoge 
>>   2  history
>>   3  history
>>   4  cd ./hoge3 # スペースを入れずに実行すると、履歴が残る
>>   5  history

なぜ履歴を残したくないのか?

Linuxには、過去のコマンドを参照するコマンドとして、historyコマンドが存在する。
これを実行すると、過去に打ち込まれたコマンドをすべて把握することができ、便利なのだが、共有のLinuxサーバーであったり、Dockerで作成したコンテナの中で、自身が打ち込んだコマンドが他人に丸見えなのはとても気持ちが悪い。だから、この方法を調べた。

ちなみに、historyに残ってしまった履歴を全てクリアしたいときは、history -c を打ち込む。

Pocket