CentOS-解决CentOS 7 history命令不显示操作记录的时间和用户身份问题

来源:互联网 发布:刘邦历史书籍 知乎 编辑:程序博客网 时间:2024/05/22 10:26

CentOS 6history命令显示操作命令的时间和用户身份
[root@node02 ~]# history 
  294  2017-01-06 16:46:48  root clear
  295  2017-01-06 16:46:50  root ll 
  296  2017-01-06 16:46:52  root cat hostname.sh  
  297  2017-01-06 16:46:56  root cat nginxlog_cut.sh  
  298  2017-01-06 16:47:29  root clear
  299  2017-01-06 16:47:34  root history
[root@node02 ~]# cat /etc/
RedHat-release  
CentOS release 6.6 (Final) 
[root@node02 ~]#

CentOS7中,history命令中不显示操作命令的时间和用户身份
[root@localhost data]# cat /etc/redhat-release  
CentOS Linux release 7.2.1511 (Core)  
[root@localhost data]# history -n 10 
[root@localhost data]# history 10 
 1268  \ 
 1269  history
 1270  cat /etc/redhat-release 
 1271  clear
 1272  cat /etc/redhat-release 
 1273  history
 1274  clear
 1275  cat /etc/redhat-release 
 1276  history -n 10 
 1277  history 10 
[root@localhost data]#

解决该问题只需要在/etc/profile中添加如下变量即可:
export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S  `whoami` "
然后运行source /etc/profile命令即可,注意引号中的空格
[root@localhost data]# history 10 
 1273  2017-01-05 19:40:18  root history
 1274  2017-01-05 19:40:27  root clear
 1275  2017-01-05 19:40:29  root cat /etc/redhat-release 
 1276  2017-01-05 19:40:35  root history -n 10 
 1277  2017-01-05 19:40:39  root history 10 
 1278  2017-01-05 19:41:12  root cat /etc/profile
 1279  2017-01-05 19:42:16  root vim  /etc/profile
 1280  2017-01-05 19:42:26  root source  /etc/profile
 1281  2017-01-05 19:42:28  root history
 1282  2017-01-05 19:42:42  root history 10 
[root@localhost data]#

至此history命令输出结果格式完美解决,如果要清除历史记录,可以运用history -c,具体history用法如下:
history
命令的用法及参数usage: history [-c] [-d offset] [n] or history-anrw [filename] or history -ps arg [arg...]
参数:
n
:数字,要列出最近的若干命令列表
-c
:将目前的 shell中的所有 history内容全部消除
-a
:将目前新增的 history指令新增入 histfiles中,若没有加 histfiles,则预设写入 ~/.bash_history
-r
:将 histfiles的内容读到目前这个 shell history记忆中
-w
:将目前的 history记忆内容写入 histfiles
阅读全文
0 0
原创粉丝点击