web-dev-qa-db-ja.com

Linuxで履歴を無効にする

Linux環境で履歴を無効にするには、次のコマンドを実行しました。

export HISTFILESIZE=0
export HISTSIZE=0
unset HISTFILE

そのようなコマンドの組み合わせで十分ですか、それともhistory -cなどを実行する必要がありますか?

これにより、サーバーを再起動した場合や、再起動後に何度もそのようなコマンドを実行する必要がある場合でも、履歴が無効になりますか?

13
Ωmega

ターゲットスコープとbashをカスタマイズするディストリビューションに応じて、/etc/profile~/.bash_profile~/.bash_login~/.profile、または~/.bashrcのbashスタートアップファイルにこのコマンドを追加するだけです。 bashのマニュアル(man bash)のINVOCATIONセクションを参照してください。

shopt -u -o history

または

set +o history

これは履歴を無効にします。

履歴を一度クリアする必要がありますが:

history -c

また、~/.bash_historyファイルを削除します。

24
konsolebox

ほとんどのユースケースでは、unset HISTFILEで十分です。

これにより、履歴ファイルへの書き込みが無効になりますが、最後のコマンドを繰り返し使用できます。 up/down
HISTFILESIZEを変更しても、シェルの終了時に履歴ファイルに書き込まれる行数にのみ影響するため、HISTFILEの設定を解除しても効果はありません。 HISTFILEを0に設定すると、ファイルは終了時に0に切り捨てられます。
_HISTSIZEを変更すると、現在のシェルが記憶するコマンドの数が変わります。

この変更を永続的にするには、~/.bashrcまたは~/.profileは、コマンドを挿入するのに適した場所です。

29
mata

再起動後も保持する場合は、~/.bashrcまたは/etc/profileに追加できます。

1
OneOfOne