履歴置換は、以前入力したコマンド行のワードを、これから入力するコマンド行で使用できます。これにより、綴りの訂正、複雑なコマンドや引数の繰り返し入力が簡単になります。
sh (Bourneシェル)には履歴置換の機能はありません。
bash (Bourne Againシェル)の履歴コマンドを次に示す。
| コマンド | 説明 |
|---|---|
| history | コマンドの実行履歴を表示する。 |
| !n | コマンド行のn番目を参照する。 |
| !-n | n回前のコマンドを参照する。 |
| !! | 直前のコマンドを参照する。!-1と同じ。
|
| !string | string で始まるコマンドのうち、最近実行したコマンドを参照する。 |
| ^string1^string2^ | 最新のコマンドを繰り返す。ただし string1 を string2 に置き換えて実行する。 |
bashでコマンドの実行履歴を表示するには、historyコマンドを実行する。
$ history
1 ls /home/marina
2 vi text
3 history
$
historyコマンドで表示された履歴の番号を指定して、コマンドを再実行することができる。
$ !2