history命令添加时间和使用技巧

来源:互联网 发布:final java 参数 编辑:程序博客网 时间:2024/05/22 10:52

1,添加显示时间
a,在/etc/profile 添加如下两行:
HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "

export HISTTIMEFORMAT

     推荐:(或者显示用时间+ip+用户名

  1. USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`   
  2. HISTFILESIZE=4000  
  3. HISTSIZE=4000  
  4. HISTTIMEFORMAT="%F %T ${USER_IP} `whoami` "  
  5. export HISTTIMEFORMAT
     )

b, source /etc/profile 刷新变量
然后history就可以看到时间了。
2,使用技巧
history的其他的一些基本功能:
1、使用 HISTSIZE 控制历史命令记录的总行数
将下面两行内容追加到 .bash_profile 文件并重新登录 bash shell,命令历史的记录数将变成 450
条:
# vi ~/.bash_profile
HISTSIZE=450
HISTFILESIZE=450
2、使用 HISTFILE 更改历史文件名称
默认情况下,命令历史存储在 ~/.bash_history 文件中。添加下列内容到 .bash_profile 文件并重新登录
bash shell,将使用 .commandline_warrior 来存储命令历史:
# vi ~/.bash_profile
HISTFILE=/root/.commandline_warrior
3、使用 HISTCONTROL 从命令历史中剔除连续重复的条目
在下面的例子中,pwd 命令被连续执行了三次。执行 history 后会看到三条重复的条目。要剔除这些重复的条目,可以将
HISTCONTROL 设置为 ignoredups:
# export HISTCONTROL=ignoredups
4、使用 HISTCONTROL 清除整个命令历史中的重复条目
上例中的 ignoredups 只能剔除连续的重复条目。要清除整个命令历史中的重复条目,可以将 HISTCONTROL 设置成
erasedups:
# export HISTCONTROL=erasedups
5、使用 -c 选项清除所有的命令历史
如果你想清除所有的命令历史,可以执行:
# history -c
6、使用 HISTIGNORE 忽略历史中的特定命令
下面的例子,将忽略 pwd、ls、ls -ltr 等命令:
# export HISTIGNORE=”pwd:ls:ls -ltr:”

0 0