Linux的history功能
我们知道,普通的history指令会输出前段时间到当前的运行指令记录,默认大约1000条,且形式如下:
1064 ll
1065 pwd
1066 cat taskmanager.sh
1067 ll
1068 ll
1069 cd
1070 ll
1071 cat test.sh
1072 echo -e "\033[1;33mFAILED: \033[1;31m${check_version} \033[0m"
...
...
1081 who -u am i
1082 history
这些操作记录是没有记录操作时间的,那么,我们能够自行设置这些参数,让他达到我们期望中的样子。
最常使用到的参数就是小下面几个:
我们可以在bashrc或者/etc/profile文件中添加下面几行:
HISTFILESIZE=2000 #修改记录的最大条数,记录在~/.bash_history文件中记录条数
HISTSIZE=2000 #指定在执行history指令时,输出~/.bash_history文件的最后‘$HISTSIZE’行
HISTTIMEFORMAT="%F %T " #指定history的记录和输出格式
export HISTTIMEFORMAT #申明HISTTIMEFORMAT变量
保存退出,执行指令:
source /etc/profile
执行history命令,就会显示每条命令的详细执行时间了;
就像这样:
3010 2018-08-09 14:22:20 tail -f messages
3011 2018-08-09 14:22:24 ll
3012 2018-08-09 14:25:02 history | more
3013 2018-08-09 14:29:18 iptables -L
3014 2018-08-09 14:29:25 ll
3015 2018-08-09 14:29:34 tail -500 secure
3016 2018-08-09 14:30:59 echo $HISTTIMEFORMAT
3017 2018-08-09 14:36:11 history
3018 2018-08-09 14:38:41 vim ~/.bash_history
3019 2018-08-09 14:42:42 who -u am i
3020 2018-08-09 14:42:51 ifconfig
3021 2018-08-09 14:45:32 who -u am i | awk '{print $7}'
3022 2018-08-09 14:46:15 who -u am i | awk '{print $7}'| grep [0-9]
3023 2018-08-09 14:46:29 echo `who -u am i | awk '{print $7}'| grep [0-9]`
3024 2018-08-09 14:46:32 ll
3025 2018-08-09 14:46:45 who -u am i | awk '{print $NF}'
3026 2018-08-09 14:48:36 echo `who -u am i | awk '{print $7}'| grep [^0-9]`
3027 2018-08-09 14:57:26 history
这样就详细多了!对于查找问题的时候也会更方便准确~!
以上,共勉!