機密情報を使用してbashコマンドを実行することがあります。たとえば、シェルスクリプトを実行し、コマンドライン引数としてパスワードを渡します。その場合、セキュリティ上の理由から、bashの履歴をクリアすることをお勧めします。
LinuxでのBash履歴のクリア
bashシェルでコマンドを実行すると、そのコマンドは.bash_historyに保存されます。 ユーザーのホームディレクトリにあるファイル。 historyを使用できます このファイルからすべてのコマンドを出力するコマンド。履歴全体または特定のコマンドをbash履歴から削除するオプションがあります。
1。すべてのコマンドを削除するには、Bash履歴を削除します
bash履歴を完全に削除したい場合は、history -cを実行できます。 コマンド。
# history
...
737 history
738 vi .bash_history
739 cd
740 history
# history -c
# history
1 history
#
2。 Bash履歴から特定のコマンドを削除する
bash履歴から特定のエントリを削除する場合は、history -d offsetを使用します。 指図。オフセットは、historyの出力からの行番号です。 コマンド。
[root@li1176-230 ~]# ls -1 | wc -l
3
[root@li1176-230 ~]# history
1 history
2 ls
3 cd
4 ls -1 | wc -l
5 history
[root@li1176-230 ~]# history -d 4
[root@li1176-230 ~]# history
1 history
2 ls
3 cd
4 history
5 history -d 4
6 history
[root@li1176-230 ~]#
MacOSでBash履歴をクリアする方法
プレーンなbashシェルを使用している場合は、-dまたは-cオプションを使用してbash履歴を削除できます。
bash-3.2$ history
1 history
2 cd
3 ls
4 pwd
5 history
bash-3.2$ history -d 4
bash-3.2$ history
1 history
2 cd
3 ls
4 history
5 history -d 4
6 history
bash-3.2$ history -c
bash-3.2$ history
1 history
bash-3.2$
ZSHクリア履歴
ZSHは最近非常に人気があります。これはbashシェルの上に構築されており、開発者を支援するための多くの追加機能を提供します。残念ながら、上記の履歴コマンドはZSHシェルの履歴をクリアするためには機能しません。これは、ZSH履歴が~/.zsh_historyに保存されているためです。 ファイル。エントリを削除する場合は、VIMまたはその他のエディタでこのファイルを開き、ファイルからエントリを手動で削除して保存します。
注 :セッションの開始時にzsh履歴が読み込まれるため、.zsh_historyファイルへの変更は現在のシェルセッションに反映されません。新しいウィンドウまたはタブを開いて新しいシェルを起動すると、変更に気付くでしょう。