シェルは過去に実行したコマンドラインをヒストリとして記憶している.これ をシェルのヒストリ機能という.ヒストリ機能を利用して過去に入力したコマ ンドを簡単に再実行できる.
ユーザが入力したコマンドラインは,入力の順番と共に記憶されている.これ をヒストリリストと呼ぶ.ヒストリリストを確認するには,historyコ マンドを用いる.引数を指定すると,最後に実行されたコマンドから引数の数 字の数だけヒストリを表示する.引数を省略した場合には,記憶しているすべ てのヒストリを表示する.
% history [数字]<RET>
% history<RET> 1 15:34 cd report 2 15:34 ls 3 15:35 more micro 4 15:37 a2ps -p micro | lpr -Pnps2 5 15:37 lpq -Pnps2 6 16:12 history % history 5<RET> 3 15:35 more micro 4 15:37 a2ps -p micro | lpr -Pnps2 5 15:37 lpq -Pnps2 6 16:12 history 7 16:23 history 5 % _
% history 4<RET> 10 15:18 ls 11 15:29 more history.txt 12 15:29 a2ps history.txt | lpr -Pnps2 13 15:32 history % !more<RET> more history.txt % _
ヒストリ指定をしてコマンドを実行する前に,あらかじめコマンドラインの内 容を確認できる.
ヒストリ指定の直後に(スペースを空けずに) ``:p
''を入力すると,ヒ
ストリリストから指定されたコマンドラインを表示する.そのままコマンドを
実行する場合には,続けて``!!
''を入力する.次にヒストリ番号9の
コマンドの内容を確認し,それを再実行する例を示す.
% !9:p<RET> ls -l % !!<RET> ls -l total 2 -rw-r--r-- 1 s98000hf 13450 Nov 18 10:40 history.ps -rw-r--r-- 1 s98000hf 3402 Nov 22 09:35 report.tex % _