LinuxでBASHコマンドライン履歴を消去する方法


bash履歴は、Linuxのコマンドラインでユーザーが実行したすべてのコマンドの記録を保持します。これにより、[上矢印]または[下矢印]キーを使用してコマンド履歴ファイルをスクロールすることで、以前に実行したコマンドを簡単に実行できます。

この記事では、Linuxシステムでコマンドライン履歴を消去する2つの簡単な方法を紹介します。

Linux端末からコマンドライン履歴を削除する主な理由は、同じアカウントを使用している可能性がある別のユーザーを防ぐためです。

たとえば、プレーンテキストのパスワードを含むコマンドを入力し、そのパスワードを他のシステムユーザーや攻撃者に見られたくない場合は、履歴ファイルを削除または消去する必要があります。

以下のコマンドを見てください。ここで、ユーザー aaronkilik はコマンドラインでデータベースサーバーのパスワードを入力しました。

$ sudo mysql -u root [email protected]!#@%$lab

あなたが最後の方にbash履歴ファイルを見ると、あなたはそこに上記でタイプされたパスワードを見るでしょう。

$ history

bash_history ファイルは通常、ユーザーのホームディレクトリ /home/username/.bash_history にあります。

$ ls -l /home/aaronkilik/.bash_history

履歴ファイルから単一行を削除するには、 -d オプションを使用します。たとえば、上記のシナリオのように平文パスワードを入力した場所でコマンドを消去する場合は、履歴ファイルでその行番号を見つけてこのコマンドを実行します。

$ history -d 2038

bashの履歴からすべてのエントリを削除または消去するには、下記のhistoryコマンドを -c オプションとともに使用してください。

$ history -c

あるいは、以下のコマンドを使用して、ファイル内の最後に実行されたすべてのコマンドの履歴を永久に削除できます。

$ cat /dev/null > ~/.bash_history 

bash履歴ファイルと便利な履歴コマンドの詳細については、こちらを参照してください。LinuxのパワーBashシェルの「履歴コマンド」。

実行したすべてのコマンドは履歴ファイルに記録されるので、コマンドラインでプレーンテキストのパスワードを入力しないでください。ご質問やご意見がありましたら、下記のフィードバックフォームをご利用ください。