コマンド履歴
コマンド履歴の基本概念
コマンド履歴は、シェルが過去に実行されたコマンドを記憶している機能であり、同じコマンドを何度も入力せずに、以前に実行したコマンドを再利用できるようにします。bashシェルではこの機能が提供されており、矢印キーを使ってコマンド履歴を操作することができます。
コマンド履歴の基本操作
- ↑キー
キーボードの「↑」キーを押すと、以前に実行したコマンドの履歴が順に表示されます。最も入力の新しいコマンドから最も古いコマンドに向かって遡ります。 - ↓キー
キーボードの「↓」キーを押すと、さかのぼったコマンド履歴から最近実行したコマンドに向かって進みます。↑キーで遡った状態から抜けて、より新しいコマンドを表示します。 - Ctrl+R
これを押すと、逆検索が始まり、キー入力に基づいてマッチする最新のコマンドが表示されます。Enterを押すとそのコマンドが実行されます。
コマンド履歴の設定と表示
- historyコマンド
history
コマンドを入力すると、実行されたコマンドの番号付き一覧が表示されます。これによりコマンド履歴全体を確認することができます。 - !!コマンド
直前に実行したコマンドを再実行するには、「!!
」を使用します。
例)「!!
」と入力してEnterを押すと、前回実行したコマンドが再実行されます。
コマンド履歴の活用
- 部分一致検索
キーボードで入力した文字列に基づいて、コマンド履歴から該当する部分を検索できます。Ctrl+Rを使用するか、「history | grep keyword
」のように組み合わせて活用します。 - コマンドの編集と再実行
↑キーを使用して過去のコマンドを取得した後、キーボードの左右矢印キーを使って編集し、Enterで再実行できます。
環境変数と設定
- HISTSIZE
履歴に保存されるコマンドの数を制御します。デフォルトでは500ですが、’export HISTSIZE=1000
‘ のように設定できます。※システムの環境によって異なります。 - HISTFILE
コマンド履歴が保存されるファイルのパスを指定します。デフォルトでは ‘~/.bash_history
‘ ですが、 ‘export HISTFILE=/path/to/history_file
‘ のように変更できます。 - HISTCONTROL
履歴に追加される前に重複を削除するなどの制御を行います。例えば、’export HISTCONTROL=ignoredups
‘ は連続する重複するコマンドを削除します。
コマンド履歴の活用例
1.直前のコマンドの再実行
$ !!
2.過去のコマンドの検索と再実行
Ctrl+R
3.履歴の表示
$ history
4.環境変数を使った設定
$ export HISTSIZE=1000
$ export HISTCONTROL=ignoredups
$ export HISTFILE=/path/to/history_file
7.注意事項
- セキュリティ
コマンド履歴には機密情報(パスワードなど)が含まれる可能性があるため、セキュリティに留意することが重要です。 - アクセス権
履歴ファイルへのアクセス権を設定し、不正アクセスを防ぐために注意が必要です。