回答:
以下のようなコマンドを使用して、2つの変数(HISTIGNORE a HISTCONTROL)を設定することにより、デフォルトのUbuntu設定を元に戻すことができます。
HISTIGNORE='!( *)'
HISTCONTROL=ignoredups
HISTCONTROL=ignoredups
履歴の動作を変更して、重複する行のみを無視し、スペースで始まる行を無視しないようにします。(HISTCONTROL=
重複を保持したい場合は、HISTCONTROLを空の文字列(を使用)に設定することもできますが、通常は不要です。)
HISTIGNORE='!( *)'
履歴は、スペースで始まらないすべての行を無視します。( *)
スペースで始まるすべての行に一致しますが、先頭!
が一致を否定するため、スペースで始まらないすべてに一致します。そして、HISTIGNOREパターンと一致するものはすべて、履歴によって無視されます。(この後者のオプションでは、bashをextglob
オン、オンで実行する必要がありますが、これshopt -s extglob
はUbuntuのデフォルト設定です。)
これを永続的にする場合は、上記の2つのコマンドをに含めることを忘れないでください~/.bashrc
。
HISTIGNORE='ls*:cd*'
、ls
またはcd
で始まるすべての行を履歴が無視するようにするのが良いかもしれません。他のコマンドでそのリストを拡張し:
、コマンドの間に。ただし、「上矢印キー」でアクセスできるコマンド呼び出し機能もこの履歴を使用するため、無視するものを設定した場合、「」で無視されたコマンドを呼び出すことはできません。上矢印」。
ssh-copy-id
またはのようなコマンドは無視したかったssh-keygen
。ではHISTIGNORE
、ssh\ *
他の無視されたコマンドに" " を含めました。スペース文字のエスケープは必須のようです。
" プレフィックスが空白の端末で実行されたコマンドは、コマンド履歴ファイルに記録されません "
はい、そうです。
.bashrc
..に保存しました。bashが使用するすべてcd
のs、ls
s、その他の日常的なコマンドを記録しないようにするために、それが必要でした。それらのいくつかのコマンドのために、私は歴史の中で必要なことを、私は今、接頭辞を使用することができます。..