和历史命令相关的变量

在历史记录中显示时间

我们可以用HISTTIMEFORMAT这个变量来定义显示历史记录时的时间参数:

➤ export HISTTIMEFORMAT='%F %T '
➤ history 
... ... ...
 1740  2016-01-05 22:45:28 man history 
 1741  2016-01-05 22:45:33 export HISTTIMEFORMAT='%F %T'
 1742  2016-01-05 22:45:34 history 
 1743  2016-01-05 22:45:38 export HISTTIMEFORMAT='%F %T '
 1744  2016-01-05 22:45:40 history 
➤

你也可以用下面的别名来定义显示历史命令的数量:

alias h1='history 10'
alias h2='history 20'
alias h3='history 30'

改变历史记录的大小限制.

!/.bashrc中有这两个变量控制者bash储存的历史命令的数量:

# vi ~/.bash_profile
HISTSIZE=450
HISTFILESIZE=450

他们的含义就跟他们的名字一样.

HISTFILE改变存放历史命令的文件.

# vi ~/.bash_profile
HISTFILE=/root/.commandline_warrior

( 都是些没有太多用处的东西, 尽管可定制化水平很高...

HISTCONTROL来删除重复的历史记录

下面的例子中, 有三个pwd命令, 那么在history中就会显示三次pwd, 有点不那么人性化.

# pwd
/
# pwd
/
# pwd
/
# history | tail -4
44 pwd
45 pwd
46 pwd
47 history | tail -4

所以我们可以这样修改:

export HISTCONTROL=ignoredups

然后就不会出现相邻的重复记录了~

在历史命令中去重

如果你还嫌弃历史记录中的那些不相邻的重复记录, 你可以用这个:

export HISTCONTROL=erasedups

不记录某些命令

(这个一般是默认的)

export HISTCONTROL=ignorespace

这样历史记录中就不会储存以空格开头的命令了.

禁止记录历史命令

如果你不想记录任何历史命令的话, 可以这样做:

export HISTSIZE=0

把历史命令记录的大小设置为0

( 还可以把历史记录的保存文件改成/dev/null, 殊途同归 ~)

不记录某些命令II

export HISTIGNORE="pwd:ls:ls –ltr:"

这种方法的效果是, 历史记录不会记录这几个命令.

扩展阅读

15个例子

忽然想到, 这些扩展阅读也都是英文的啊.... 不知道各位看官有没有兴趣看呢?

results matching ""

    No results matching ""