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

[复制链接] |主动推送
查看40 | 回复0 | 2024-9-11 18:16:25 | 显示全部楼层 |阅读模式
CentOS 6 中history命令显示操作命令的时间和用户身份
  [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 ~]#
  而CentOS 7中,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
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则