解決CentOS 7 history命令不顯示操做記錄的時間和用戶身份問題

解決CentOS 7 history命令不顯示操做記錄的時間和用戶身份問題html

 

分類: 系統運維nginx

2017-01-11 13:36:27shell

 

centos6 中history命令顯示操做命令的時間和用戶身份
    
[root@bdkyr ~]# 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@bdkyr ~]# cat /etc/redhat-release 
CentOS release 6.6 (Final)
[root@bdkyr ~]#

而centos7中,history命令中不顯示操做命令的時間和用戶身份
    
[root@bdkyr 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@bdkyr data]#

解決該問題只須要在/etc/profile中添加以下變量便可:

export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S  `whoami` "

而後運行source /etc/profile命令便可,注意引號中的空格

    
[root@bdkyr 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@bdkyr 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 記憶內容寫入 histfilesvim

相關文章
相關標籤/搜索