Linuxでコマンド履歴を残さない方法

Linux IT Tips

本来ならば、コマンド履歴は記録に残して然るべきですが
そうとも言えない場合の裏ワザが御座いまして。
当然悪用厳禁。

・先頭がスペースであるコマンドを履歴に残さない方法
※はてなブックマークでの補足コメント、有難う御座いました。

export HISTCONTROL=ignorespace

・先頭がスペースであるコマンドを履歴に残さない+重複コマンドを記録しない方法

export HISTCONTROL=ignoreboth

多用するなら「~/.bashrc」に書き込んでおくと便利。

環境変数「export」は、ユーザがログアウトするかシステムを再起動するまで有効。
それを好まない場合でコマンド履歴を残さない方法が以下の通り。

・一行のコマンドを履歴に残さない方法

`example-command`;history -d `history|awk '{a=$1;}END{print a;}'`

・一連の作業でコマンド履歴を残さない方法

#秘密作業開始
HISTIGNORE=*;history -d `history|awk '{a=$1;}END{print a;}'`

#秘密作業終了
unset HISTIGNORE

・コマンド履歴の削除
※ historyコマンドで、該当コマンドの履歴番号を確認しておくこと

#1行コマンドの削除
history -d 履歴番号

#コマンド全履歴の削除
history -c

#コマンド履歴に残さず1行コマンドを削除する
`history -d 履歴番号`;history -d `history|awk '{a=$1;}END{print a;}'`

#コマンド履歴に残さずコマンド全履歴を削除する
`history -c`;history -d `history|awk '{a=$1;}END{print a;}'`

コメント

タイトルとURLをコピーしました