2024年11月Linux中history命令的操作实例汇总(2)

发布时间:

  ⑴.使用 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命令是你的好帮手。