
ターミナルでは、すでに使用したコマンドラインを検索するときに、bash 履歴が役立つことがよくあります。しかし、bash 履歴の動作 (つまり、どのコマンドが保存されるか、保存される期間、保存されるコマンドの数など) に影響を与える方法はありますか?
答え1
履歴の動作はいくつかの変数によって制御されます。
答え2
履歴のタイムスタンプの設定:
デフォルトでは、履歴にはタイムスタンプは追加されませんが、タイムスタンプを表示するように設定するのは簡単です。環境変数を1つ設定するだけです。履歴時間フォーマット。
export HISTTIMEFORMAT="%h/%d - %H:%M:%S "
- 結果を確認するには、履歴を再度実行してください。
コマンドを履歴に保存したくない場合は、
export HISTSIZE=0
変数:
- HISTFILE - 履歴ファイルが保存される場所を制御します。
- HISTFILESIZE - HISTFILE に保持する履歴コマンドの数を制御します。
- HISTSIZE - 現在のセッションの履歴リストに保持する履歴コマンドの数を制御します。
- HISTIGNORE - どのコマンドを無視し、履歴リストに保存しないかを制御します。
注記:
- ターミナルを閉じると設定は失われます。そのため、設定を永続的に保持したい場合は、上記のコマンドを または に追加する必要があり
~/.bashrc
ます~/.bash_aliases
。
答え3
次のような行を追加できます
export HISTFILESIZE=5000
履歴のサイズを増やすには、 を使用します~/.bashrc
。デフォルトでは、スペースで始まるコマンドは保存されません。これは、export HISTCONTROL=ignoreboth
Ubuntu でデフォルトでグローバルに有効になっている によるものです。
l
またはwhich
を使用して始まるコマンドを無視することもできます。
export HISTIGNORE="l*:which*"
答え4
履歴にコマンドを記憶させないようにする方法があります。スペースで始めるだけです。特定のコマンドを取得する非常に簡単な方法もあります。CTRL+R と検索するコマンドの単語を入力します。
デフォルトでは 500 行であるデフォルトの履歴を増やす方法は確かにありますが、方法がわかりません。申し訳ありません。