履歴置換は、以前入力したコマンド行のワードを、これから入力するコマンド行で使用できます。これにより、綴りの訂正、複雑なコマンドや引数の繰り返し入力が簡単になります。
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