履歴コマンド - 特定のコマンドを無視します。

履歴コマンド - 特定のコマンドを無視します。

監査ファイルを作成しようとしています。historyこれを使用して実行されたコマンドを表示できることがわかりました。

特定のコマンドがチュートリアルに表示されないようにするなど、タイムスタンプやその他の機能を表示するように変更できますが、チュートリアルのように動作しないことがわかりました。

時間を追加:

export HISTTIMEFORMAT='%F %T  '

ls、pwd、cd、および日付を削除する必要があります。

export HISTIGNORE='ls:pwd:date:cd:'

次のコマンドを入力した後の履歴出力:

 2077  2020-04-30 11:47:25 export HISTIGNORE='ls:pwd:date:cd:'
 2078  2020-04-30 11:47:33 cd ..
 2079  2020-04-30 11:47:41 history
 2080  2020-04-30 11:48:25 cd a2
 2081  2020-04-30 11:48:32 cd a2
 2082  2020-04-30 11:48:38 history

古いチュートリアルを見ているのでしょうか、それともコマンドを混乱させましたか?

答え1

HISTIGNOREパターンには以下が含まれているため、コマンドcdは無視されません。cdバッシュマニュアル部分的には次のように言いますHISTIGNORE

各パターンは行の先頭に固定され、行全体と一致する必要があります(暗黙の「*」は追加されません)。

表示されたケースに対処するためにcdAND cd *(およびlsAND)を含めるようにHISTIGNOREを設定することに興味があるかもしれません。ls *

答え2

あなたは試すことができます:

  1. /etc/profile は読み取り専用なので、編集可能モードで開きます。

  2. 次の2つの変数を定義し、ファイルを保存します。

HISTTIMEFORMAT='%d-%m-%y %T'

HISTIGNORE='ls:pwd:日付:cd'

  1. ソース/ライト/プロフィール

これはグローバルに機能します。ユーザーにのみ適用するには、~/.bash_profileで同じ手順に従ってください。

幸運を祈る

関連情報