2009年11月6日金曜日

【復習】3.1.7.コマンド履歴

bashは実行したコマンドを保存しているので、historyコマンドでコマンド履歴を表示して確認できる。
「!履歴番号」で指定して、コマンドを再度実行できる。
コマンド履歴は、ユーザーのホームディレクトリの、.bash_historyファイルに保存されている。
環境変数HISTFILEで変更が可能。履歴数は、環境変数HISTSIZEで設定されている。

ubuntu@ubuntu-vm:~$ history
1 ls
2 cd /
3 ls
4 cd cdrom
5 ls

(中略)

34 echo `$DATE`
35 echo "$DATE"
36 echo "\$DATE"
37 history
ubuntu@ubuntu-vm:~$ !34
echo `$DATE`
2009年 11月 6日 金曜日 00:21:39 JST
ubuntu@ubuntu-vm:~$
ubuntu@ubuntu-vm:~$ echo "$HISTFILE"
/home/ubuntu/.bash_history
ubuntu@ubuntu-vm:~$ echo `$HISTFILE`
bash: /home/ubuntu/.bash_history: Permission denied

ubuntu@ubuntu-vm:~$ echo "$HISTSIZE"
500
ubuntu@ubuntu-vm:~$

●bashの履歴機能
↑(Ctrl+P):一つ前のコマンドを表示する。
↓(Ctrl+N):一つ次のコマンドを表示する。
!文字列:実行したコマンドの中で、指定した文字列から始まるコマンドを実行する。
!?文字列:実行したコマンドの中で、指定した文字列を含むコマンドを実行する。
!!:直前のコマンドを再実行する。
!履歴番号:履歴番号のコマンドを実行する。

■感想:「!文字列」と「!?文字列」は、どうも最新?のマッチしたものが実行されるようだ。ただ個人的には、どうしてもそのような指定が必要な時だけ「!文字列」を使おうと思う。

0 件のコメント:

コメントを投稿