【问题标题】:How to record terminal execute log?如何记录终端执行日志?
【发布时间】:2015-11-03 06:05:21
【问题描述】:

我想在日志中记录 bash 执行历史记录,包括输入和输出以及时间戳。
命令history只能记录输入,不能记录输出和时间戳。
我该怎么做才能存档?

【问题讨论】:

  • 不容易(实际上不是我听说的)。一种折衷方案是将所有内容记录为屏幕上的打印内容,这通常在终端仿真器级别完成。你没有那样的时间戳,但你可以在提示中包含时间戳来指导你,这就是我所做的。
  • 顺便说一句,Zsh的历史至少有包含时间戳的优势。
  • @ZsoltBotykai 我认为这是两个问题,我不想要执行时间,我想要一个时间戳,就像'2015-11-03 17:53:29'
  • 有人可能会通过不断输入cat output.log来淹没日志

标签: bash shell


【解决方案1】:

如果没有正确的时间戳,您可以使用臭名昭著的script 命令,该命令允许将终端会话记录到文件中。现在您可以使用它的'-t 参数来记录两个命令之间的时间(但这将记录到STDERR(阅读精美手册)。然后您可以选择(连同script)来设置你的$PS1 包含一个时间戳(或$PROMPT_COMMAND),所以这也包含在script 的输出中。

【讨论】:

    猜你喜欢
    • 2014-11-20
    • 2015-02-07
    • 2019-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-09
    • 2021-07-07
    • 1970-01-01
    相关资源
    最近更新 更多