和历史命令相关的变量
在历史记录中显示时间
我们可以用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:"
这种方法的效果是, 历史记录不会记录这几个命令.
扩展阅读
忽然想到, 这些扩展阅读也都是英文的啊…. 不知道各位看官有没有兴趣看呢?