centos6 中history命令显示操作命令的时间和用户身份
1
2
3
4
5
6
7
8
9
10
|
[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命令中不显示操作命令的时间和用户身份
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
[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命令即可,注意引号中的空格
1
2
3
4
5
6
7
8
9
10
11
12
|
[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
本文转自027ryan 51CTO博客,原文链接:http://blog.51cto.com/ucode/1889568,如需转载请自行联系原作者