将 BASH shell 会话记录到主机上的文件的最佳方法是什么?
首选输出格式相当于 PuTTY 的“可打印输出”日志设置,用户可以看到包括输入但不包括 ncurses 控制字符数据。
答案1
答案2
你可以开始gnu 屏幕并使用日志功能。我不知道有什么可以给你一个非常好的日志ncurses像 top 这样的应用程序。
男人屏幕
log [on|off]
Start/stop writing output of the current window to a file "screenlog.n"
in the window's default directory, where n is the number of the current
window. This filename can be changed with the `logfile' command. ...
logfile filename
logfile flush secs
Defines the name the log files will get. The default is "screenlog.%n".
The second form changes the number of seconds screen will wait before
flushing the logfile buffer to the file-system. The default value is 10
seconds.
答案3
TTYrec 可能是最简单的解决方案。您可以使用原始版本:
http://0xcc.net/ttyrec/index.html.en
或者自己动手:
http://en.wikipedia.org/wiki/Ttyrec
或者,你可以把所有旧式命令都放到 tee command.timestamp.tee
答案4
我不确定你在这里到底想实现什么。这是用于培训还是取证?如果你想要一些可以生成可读性好的日志文件的东西,那么你可能运气不佳。如果你希望能够回放会话,那么 ttyrec 就是你想要的。你可以将其作为登录脚本的一部分运行以捕获用户的会话,但请确保使用“trap”来阻止用户退出 ttyrec 并返回到 shell。