bashには強力なコマンドライン編集機能がある。その操作法はemacsとviに準じたものがある。標準はemacsモードである。コマンド実行の履歴はファイルとして保存される。このコマンド実行履歴を編集する機能がコマンドライン編集機能である。
コマンド |
意味 |
Ctrl-F |
右へ1文字移動 |
→ |
〃 |
Ctrl-B |
左へ1文字移動 |
← |
〃 |
ESC-F |
右へ1ワード移動 |
ESC-B |
左へ1ワード移動 |
Ctrl-A |
行頭へ移動 |
Ctrl-E |
行末へ移動 |
Ctrl-P |
前の行へ移動 |
↑ |
〃 |
Ctrl-N |
次の行へ移動 |
↓ |
〃 |
ESC-< |
履歴の先頭へ移動 |
ESC-> |
履歴の末尾へ移動 |
コマンド |
意味 |
DEL |
カーソル位置の文字を1文字削除。カーソル位置は変わらず、カーソル以降文字列が左へ移動する。 |
Ctrl-D |
〃 |
BackSpace |
科ソールより左側の文字を1文字削除。カーソルは左へ移動する。 |
Ctrl-H |
〃 |
ESC-DEL |
右側1ワードを削除 |
ESC-Ctrl-H |
左側1ワードを削除 |
ESC-D |
|
Ctrl-K |
カーソル位置以降をすべて削除 |
bashの便利な機能の一つ。コマンドやファイル名をすべて覚えていなくてもbashが足りない部分を補ってくれる。
コマンド |
意味 |
TAB |
標準的な補完 |
ESC-? |
補完候補一覧の表示 |
ESC-! |
コマンドとして補完 |
Ctrl-X ! |
コマンドとしての補完一覧表示 |
ESC-TAB |
履歴の中から補完 |
ESC-/ |
ファイル名として補完 |
Ctrl-X / |
ファイル名としての補完一覧表示 |
次のコマンドでコマンド実行履歴を利用できる。
コマンド |
意味 |
!! |
直前のコマンドを実行 |
!n |
履歴のn番目のコマンドを実行 |
!-n |
n個前の履歴を実行 |
!文字列 |
文字列で始まる直近の履歴を実行 |
!?文字列 |
文字列を含む直近の履歴を実行 |
^文字列1^文字列2 |
文字列1を文字列2に置換して履歴を実行 |