自分の打ったコマンド履歴を消したい時、消したことさえ残したくない時に使える。
流れ
vim .bash_history
でコマンド履歴を削除kill -9 $$
で1で打ったコマンドの履歴を残さずログアウト
コマンド履歴を削除する
まず現在のhistory
を確認。
root@kali-linux-2018:~$ history ... 252 ls 253 echo "消したい" 254 history
# 該当コマンドの行を削除する $ vim ~/.bash_history ... ls echo "消したい" # 削除する history exit
これでコマンド履歴からは消えた。
ただこのままexit
してログアウトすると次回ログイン時、history
を打つとvim ~/.bash_history
が履歴に残っている。
# 次回ログイン時 root@kali-linux-2018:~$ history 252 ls 253 history 254 vim ~/.bash_history # 編集履歴が残ってしまう 255 exit 256 history
「履歴を削除した」という痕跡を残さずログアウトする
vim ~/.bash_history
でコマンド履歴を削除した後、exit
によるログアウトではなく下記のコマンドでログアウトする。
# コマンド履歴を残さずログアウト $ kill -9 $$
$$
には現在のログインShellのpidが入っている。
これを強制終了させることで履歴を残さずログアウトすることができる。
そもそもコマンド履歴を保存したくない
コマンド履歴残さず作業したいならこれ。
unset HISTFILE
コマンドを実行していく前にこれを打っておけば、コマンド履歴は残らない。
終わり
ログインシェルを強制終了するなんてあまり気持ちのいいものじゃないで趣味に留めましょうね。