15

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

export HISTFILESIZE=0
export HISTSIZE=0
unset HISTFILE

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

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

4

3 に答える 3

32

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

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

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

于 2013-09-06T17:40:11.817 に答える
24

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

shopt -u -o history

または

set +o history

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

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

history -c

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

于 2013-09-06T17:40:31.897 に答える
1

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

于 2013-09-06T17:22:24.100 に答える