⑴.使用 HISTCONTROL 从命令历史中剔除连续重复的条目
⑵在下面的例子中,pwd 命令被连续执行了三次。执行 history 后你会看到三条重复的条目。要剔除这些重复的条目,你可以将 HISTCONTROL 设置为 ignoredups:
⑶# history | tail -
⑷ pwd [Note that there are three pwd mands in history, after executing pwd times as shown above]
⑸ history | tail -
⑹# export HISTCONTROL=ignoredups
⑺# history | tail -
⑻ export HISTCONTROL=ignoredups
⑼ pwd [Note that there is only one pwd mand in the history, even after executing pwd times as shown above]
⑽ history | tail -
⑾.使用 HISTCONTROL 清除整个命令历史中的重复条目
⑿上例中的 ignoredups 只能剔除连续的重复条目。要清除整个命令历史中的重复条目,可以将 HISTCONTROL 设置成 erasedups:
⒀# export HISTCONTROL=erasedups
⒁# service httpd stop
⒂# history | tail -
⒃ service httpd stop
⒄ history | tail -
⒅# ls -ltr
⒆# service httpd stop
⒇# history | tail -
⒈ export HISTCONTROL=erasedups
⒉ history | tail -
⒊ ls -ltr
⒋ service httpd stop
⒌[Note that the previous service httpd stop after pwd got erased]
⒍ history | tail -
⒎.使用 HISTCONTROL 强制 history 不记住特定的命令
⒏将 HISTCONTROL 设置为 ignorespace,并在不想被记住的命令前面输入一个空格:
⒐# export HISTCONTROL=ignorespace
⒑# ls -ltr
⒒# service httpd stop [Note that there is a space at the beginning of service, to ignore this mand from history]
⒓# history | tail -
⒔ ls -ltr
⒕ history | tail -
⒖.使用 -c 选项清除所有的命令历史
⒗如果你想清除所有的命令历史,可以执行:
⒘# history -c
⒙在下面的例子里,!!:$ 将为当前的命令获得上一条命令的参数:
⒚# ls anaconda-ks.cfg
⒛anaconda-ks.cfg
①# vi !!:$
②vi anaconda-ks.cfg
③补充:使用 !$ 可以达到同样的效果,而且更简单。
④下例中,!^ 从上一条命令获得第一项参数:
⑤# cp anaconda-ks.cfg anaconda-ks.cfg.bak
⑥anaconda-ks.cfg
⑦# vi - !^
⑧vi anaconda-ks.cfg
⑨.为特定的命令替换指定的参数
⑩在下面的例子,!cp: 从命令历史中搜索以 cp 开头的命令,并获取它的第二项参数:
Ⅰ# cp ~/longname.txt /really/a/very/long/path/long-filename.txt
Ⅱ# ls -l !cp:
Ⅲls -l /really/a/very/long/path/long-filename.txt
Ⅳ下例里,!cp:$ 获取 cp 命令的最后一项参数:
Ⅴ# ls -l !cp:$
Ⅵls -l /really/a/very/long/path/long-filename.txt
Ⅶ.使用 HISTSIZE 禁用 history
Ⅷ如果你想禁用 history,可以将 HISTSIZE 设置为 :
Ⅸ# export HISTSIZE=
Ⅹ# history
㈠# [Note that history did not display anything]
㈡.使用 HISTIGNORE 忽略历史中的特定命令
㈢下面的例子,将忽略 pwd、ls、ls -ltr 等命令:
㈣# export HISTIGNORE=”pwd:ls:ls -ltr:”
㈤# ls -ltr
㈥# service httpd stop
㈦# history | tail -
㈧ export HISTIGNORE=”pwd:ls:ls -ltr:”
㈨ service httpd stop
㈩ history
[Note that history did not record pwd, ls and ls -ltr]
上面就是Linux下history命令的例子详解了,从这个例子中你能更深入的了解history命令的实际应用,如果你经常使用命令,相信history命令是你的好帮手。