bashのhistoryを強化するおすすめ設定
Linux や macOS のターミナルで日常的に作業していると、過去に実行したコマンドを呼び出す「history」機能は欠かせません。
ところが、デフォルトの設定では履歴件数が少なく、せっかくの便利な記録がすぐ消えてしまいます。また、いつ実行したコマンドか分からないために使いにくさを感じることもあります。
目的
-
過去に実行したコマンドを長期保存する
-
実行日時をわかりやすく表示する
-
複数ターミナルを開いても履歴をきちんと残す
課題
-
デフォルトでは履歴件数(HISTSIZE)が少なく、数千行程度しか残らない
-
日時の情報がなく、いつ実行したコマンドか分かりにくい
-
複数のターミナルを使うと、最後に閉じたウィンドウの履歴だけが保存され、他の履歴が消えることがある
解決策:設定例
以下の設定を ~/.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
まとめ
-
HISTSIZE
とHISTFILESIZE
を大きくすることで履歴を長期保存できる -
HISTTIMEFORMAT
によって実行日時が分かりやすくなる -
histappend
とPROMPT_COMMAND="history -a"
を使うことで、複数ターミナルでも履歴が失われにくくなる
この5行を .bashrc
に追加するだけで、ターミナル作業が格段に快適になります。
「過去のコマンドをもっと活用したい」と思ったら、ぜひ試してみてください。
ディスカッション
コメント一覧
まだ、コメントがありません