Unixコマンド/history の変更点
*&SIZE(15){''history''}; [#ib4f12fb]
**''機能'' [#f3f10576]
historyコマンドはヒストリ機能を持つシェルの内部コマンドで、そのシェルから実行した~
コマンドの実行履歴を表示します。~
デフォルトでは、保存されている履歴を全て表示しますが、引数に履歴数を指定すると、~
新しい履歴から指定された数の履歴だけを表示します。~
シェルのヒストリ機能により、historyコマンドで表示できる履歴をコマンドラインに~呼び出すことができます。~
これによって、同じコマンドを再度実行するときに、コマンド入力の手間が省略できます。~
▼コマンド履歴の呼び出し指定~
|100|400|c
|CENTER:入力|CENTER:機能|h
|↑|一つ前のコマンドラインの履歴を呼び出す|
|↓|一つ後のコマンドラインの履歴を呼び出す|
|!!|直前に実行したコマンドライン|
|!n|historyコマンドで確認できる履歴番号n番のコマンドライン|
|!-n|n回目に実行したコマンドライン|
|!!:m|直前に実行したコマンドラインのm番目の引数(最初の引数(=コマンド自身)を0とする)|
|!$|直前に実行したコマンドラインの最後の引数|
|!文字列|指定した文字列から始まるコマンドライン|
▼履歴を指定するシェル変数
|100|400|c
|CENTER:シェル|CENTER:コマンド履歴数を指定するシェル変数|h
|csh、tcshなど|history|
|bash、kshなど|HISTSIZE|
▼履歴の保存ファイルを指定するシェル変数
|100|400|c
|CENTER:シェル|CENTER:履歴の保存先を指定するシェル変数|h
|csh、tcshなど|savehist|
|bash、kshなど|HISTFILESIZE|
現在のhistory保有数の確認
# echo $HISTSIZE
1000
**''構文'' [#nf342614]
history [オプション] [履歴数]
**''オプション'' [#v61940af]
-h 履歴番号を表示しない
-r 逆順に履歴を表示する
|-h|履歴番号を表示しない|
|-r|逆順に履歴を表示する|
**''コマンド例'' [#ocebbdff]
▼実行したコマンドの履歴を表示する
$ history
29 19:07 top
30 19:07 netstat | head
31 19:07 exit
32 23:37 cd /work1/HOME/
33 23:37 ll
34 23:37 rm *3.0.xls
35 23:37 ll
36 23:38 su
37 23:49 cat /usr/local/etc/smb.conf
38 23:50 ll /work1/HOME/
▼コマンド履歴の保存数を設定する。
matsui@vaio$ set history=256 256個まで履歴を保存する
matsui@vaio$ set |grep history
history 256 変数historyが設定された
▼直前に実行したコマンドを再実行する
matsui@vaio$ ls lsコマンドを実行
account db log run tmp
at empty mail rwho yp
backups games msgs service
crash heimdal preserve spool
cron lock qmail supervise
matsui@vaio$ !! 直前に実行したコマンドを実行
ls
account db log run tmp
at empty mail rwho yp
backups games msgs service
crash heimdal preserve spool
cron lock qmail supervise
▼指定した文字列から始まるコマンドを実行
matsui@vaio$ ls /usr/
@LongLink games libexec sbin
X11R6 include local share
bin lib obj src
compat libdata ports sup
matsui@vaio$ pwd
/var
matsui@vaio$ !ls lsから始まるコマンドを再実行
ls /usr/
@LongLink games libexec sbin
X11R6 include local share
bin lib obj src
compat libdata ports sup
▼直前に実行したコマンドの引数だけを再利用する
$ ls -a !$ 直前のコマンドの最後の引数を再利用
ls -a /usr/local/etc
. pear.conf smb.conf.default
.. proftpd.conf ssh
codepages proftpd.conf.bak sudoers
courier-imap rc.d sudoers.sample
cups rc.subr wgetrc
openldap smb.conf