如何在终端窗口中记录所有活动?

如何在终端窗口中记录所有活动?

Ubuntu 10.04/GNOME“经典”。

我如何记录所有“gnome 终端相关”的内容?

我的意思是例如:我打开 2 个 gnome 终端窗口并使用它们 ssh 到两个不同的服务器,工作几个小时,然后我关闭 gnome 终端窗口,然后我需要这两个日志文件例如:

logfile-2011-09-08-10-00-02.txt
logfile-2011-09-08-10-00-04.txt

所以我需要完整记录我的每个 GNOME 终端。例如:我什么时候在服务器上发出了命令,等等。

有没有什么好的方法来完整记录终端会话?是否有任何记录菜单的解决方案,例如:客户端的“smitty”?

答案1

我不知道你想要实现什么,但是如果你想计算你何时运行某个命令,你可以检查你的 shell 历史记录并添加它的执行时间。从man bash

   HISTTIMEFORMAT
          If this variable is set and not null, its value is used as a
          format string for strftime(3) to print the time stamp associated
          with each history entry displayed by the  history builtin.  If
          this variable is set, time stamps are written to the history file
          so they may be preserved across shell sessions.  This uses the
          history comment character to dis‐tinguish timestamps from other
          history lines.

如果这对您来说还不够,您可以结账script。它是一个实用程序,可将您在 shell 上键入的所有内容(及其输出)保存到文件中:

$ script /tmp/shell-output
Script started, file is /tmp/shell-output
$ echo everything is send to /tmp/shell-output, Even ssh sessions started here

编辑 如果你想script从执行~/.bashrc,你最好限制 bash 不读取你的RC文件:

$ script -c 'bash --norc' -f /path/to/saved_file

相关内容