How to record terminal execute log?
我想在日志中记录bash执行历史,包括输入和输出以及时间戳。
命令history仅可以记录输入,但不能记录输出和时间戳。
我该怎么存档?
- 不容易(实际上我没有听说过)。一种折衷方案是记录所有在屏幕上打印的内容,这通常是在终端仿真器级别完成的。您没有那样的时间戳,但是您可以在提示中包括时间戳以指导您,这就是我要做的。
-
顺便说一句,Zsh的历史至少具有包含时间戳的优势。
-
可能会重复执行Shell命令的打印执行时间
-
@ZsoltBotykai我认为这是两个问题,我不希望执行时间,我想要一个时间戳,就像" 2015-11-03 17:53:29 "
-
有人可能会不断输入cat output.log来充斥日志
没有适当的时间戳,您可以使用臭名昭著的script命令,该命令允许将终端会话记录到文件中。现在,您可以使用其" -t"参数记录两个命令之间的时间(但这将被记录到" STDERR"(请阅读详细的手册)。然后,您可以选择(与script一起)进行设置您的$PS1包含时间戳(或$PROMPT_COMMAND),因此该时间戳也包含在script的输出中。