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