bashのhistoryを強化するおすすめ設定

2025-09-05

Linux や macOS のターミナルで日常的に作業していると、過去に実行したコマンドを呼び出す「history」機能は欠かせません。
ところが、デフォルトの設定では履歴件数が少なく、せっかくの便利な記録がすぐ消えてしまいます。また、いつ実行したコマンドか分からないために使いにくさを感じることもあります。


目次

目的

  • 過去に実行したコマンドを長期保存する

  • 実行日時をわかりやすく表示する

  • 複数ターミナルを開いても履歴をきちんと残す

課題

  1. デフォルトでは履歴件数(HISTSIZE)が少なく、数千行程度しか残らない

  2. 日時の情報がなく、いつ実行したコマンドか分かりにくい

  3. 複数のターミナルを使うと、最後に閉じたウィンドウの履歴だけが保存され、他の履歴が消えることがある


解決策:設定例

以下の設定を ~/.bashrc に追記し、反映します。

# ~/.bashrc に追記
export HISTSIZE=100000 # メモリに保持する件数
export HISTFILESIZE=200000 # ~/.bash_history に保存する件数
shopt -s histappend # 上書きせずに追記する
export PROMPT_COMMAND="history -a" # コマンド実行ごとに保存
export HISTTIMEFORMAT="%F %T " # 日付と時刻を表示

設定を反映するには以下を実行:

source</span> ~/.bashrc

効果の確認

1. 履歴件数が増えているか確認

echo $HISTSIZE $HISTFILESIZE

出力例:

100000 200000

2. 履歴に日時が表示される

history | head

出力例:

 1000 2025-08-18 20:12:35 ls -l
1001 2025-08-18 20:12:40 git status

まとめ

  • HISTSIZEHISTFILESIZE を大きくすることで履歴を長期保存できる

  • HISTTIMEFORMAT によって実行日時が分かりやすくなる

  • histappendPROMPT_COMMAND="history -a" を使うことで、複数ターミナルでも履歴が失われにくくなる

この5行を .bashrc に追加するだけで、ターミナル作業が格段に快適になります。
「過去のコマンドをもっと活用したい」と思ったら、ぜひ試してみてください。