复制代码代码如下: # [Press Ctrl+R from the command prompt, which will display the reverse-i-search prompt] (reverse-i-search)`red‘: cat /etc/redhat-release [Note: Press enter when you see your command, which will execute the command from the history] # cat /etc/redhat-release Fedora release 9 (Sulphur)
复制代码代码如下: # vi ~/.bash_profile HISTFILE=/root/.commandline_warrior
8.使用 HISTCONTROL 从命令历史中剔除连续重复的条目 在下面的例子中,pwd 命令被连续执行了三次。执行 history 后你会看到三条重复的条目。要剔除这些重复的条目,你可以将 HISTCONTROL 设置为 ignoredups:
复制代码代码如下: # pwd # pwd # pwd # history | tail -4 44 pwd 45 pwd 46 pwd [Note that there are three pwd commands in history, after executing pwd 3 times as shown above] 47 history | tail -4 # export HISTCONTROL=ignoredups # pwd # pwd # pwd # history | tail -3 56 export HISTCONTROL=ignoredups 57 pwd [Note that there is only one pwd command in the history, even after executing pwd 3 times as shown above] 58 history | tail -4
复制代码代码如下: # export HISTCONTROL=erasedups # pwd # service httpd stop # history | tail -3 38 pwd 39 service httpd stop 40 history | tail -3 # ls -ltr # service httpd stop # history | tail -6 35 export HISTCONTROL=erasedups 36 pwd 37 history | tail -3 38 ls -ltr 39 service httpd stop [Note that the previous service httpd stop after pwd got erased] 40 history | tail -6
10.使用 HISTCONTROL 强制 history 不记住特定的命令 将 HISTCONTROL 设置为 ignorespace,并在不想被记住的命令前面输入一个空格:
复制代码代码如下: # export HISTCONTROL=ignorespace # ls -ltr # pwd #service httpd stop [Note that there is a space at the beginning of service, to ignore this command from history] # history | tail -3 67ls -ltr 68pwd 69history | tail -3
11.使用 -c 选项清除所有的命令历史 如果你想清除所有的命令历史,可以执行:
复制代码代码如下: # history -c
12.命令替换 在下面的例子里,!!:$ 将为当前的命令获得上一条命令的参数:
复制代码代码如下: # ls anaconda-ks.cfg anaconda-ks.cfg # vi !!:$ vi anaconda-ks.cfg
补充:使用 !$ 可以达到同样的效果,而且更简单。 下例中,!^ 从上一条命令获得第一项参数:
复制代码代码如下: # cp anaconda-ks.cfg anaconda-ks.cfg.bak anaconda-ks.cfg # vi -5 !^ vi anaconda-ks.cfg
复制代码代码如下: # export HISTIGNORE=”pwd:ls:ls -ltr:” # pwd # ls # ls -ltr # service httpd stop # history | tail -3 79 export HISTIGNORE=”pwd:ls:ls -ltr:” 80 service httpd stop 81 history [Note that history did not record pwd, ls and ls -ltr]