【亲测有效】ubuntu 18.04 history命令添加时间和IP及用户名到命令历史记录里

history命令添加时间和IP及用户名

1,添加显示时间
(1),在/etc/profile 添加如下:(显示用时间+ip+用户名)
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` #此处的值需要用反撇号取其执行结果
HISTFILESIZE=3000
HISTSIZE=3000
HISTTIMEFORMAT="%F %T ${USER_IP} `whoami` " #此处whoami需要用反撇号取其执行结果
export HISTTIMEFORMAT

(2), 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

你可能感兴趣的:(ubuntu,linux,服务器,异步IO,ubuntu,bash,linux)