~/.bash_history:コマンド履歴の保存ファイル

bash_history

~/.bash_historyについての概要と詳細

~/.bash_historyとは

~/.bash_history は、Bashシェルで実行した過去のコマンド履歴を保存するファイルです。
このファイルにより、過去に入力したコマンドを矢印キー(↑↓)で呼び出したり、検索機能(Ctrl + r)で再利用したりすることが可能になります。セッション終了時に履歴がこのファイルに書き込まれます。

主な特徴

  • コマンド履歴をユーザーごとに永続的に保存
  • history コマンドで確認・操作可能
  • HISTSIZEHISTFILESIZEで履歴数を制御
  • 設定次第で時刻や重複排除などのカスタマイズも可能

基本的な使い方

  • history:履歴の表示
  • !番号:指定番号のコマンドを再実行
  • !!:直前のコマンドを再実行
  • !文字列:文字列で始まるコマンドを再実行

設定項目の例(~/.bashrcなど)

# ~/.bashrc または ~/.bash_profile に追加

# 履歴に保存する最大コマンド数(メモリ内)
HISTSIZE=1000

# .bash_historyに保存する最大行数(ファイル上)
HISTFILESIZE=2000

# 重複を保存しない
HISTCONTROL=ignoredups

# コマンド実行時刻も保存
HISTTIMEFORMAT="%F %T "

# 空白で始まるコマンドは記録しない
HISTIGNORE=" *"

履歴の操作例

# 履歴をファイルに保存(明示的に)
$ history -w

# ファイルから履歴を読み込む
$ history -r

# 履歴を全削除
$ history -c

安全上の注意

  • パスワードなど機密情報を含むコマンドは履歴に残る可能性があります。
  • 保存しないようにするには、前に空白をつけてコマンドを実行するか、HISTIGNORE で除外設定します。
  • 複数の端末を同時に使用している場合、履歴が上書きされることがあります(PROMPT_COMMAND の工夫で対応可能)。

関連ファイルと環境変数

項目説明
~/.bash_historyコマンド履歴が保存されるファイル
$HISTFILE履歴を保存するファイルのパス(デフォルトは ~/.bash_history
$HISTSIZEメモリ内に保持する履歴の行数
$HISTFILESIZEファイルに保存する履歴の最大行数

まとめ

~/.bash_history は、Bashシェルでの操作効率を高めるために欠かせない履歴管理の仕組みです。適切に設定・活用することで、過去の作業の再利用やトラブル対応が容易になります。ただし、セキュリティには注意を払い、必要に応じて履歴の保存範囲をコントロールしましょう。