raf*_*afa 9 terminal logging gnu-screen
我是新用的GNU screen,我使用它主要是因为我不想丢失我的工作,如果我的SSH连接意外关闭,还因为我想保留我的终端上打印的每个输出的日志文件(至少一些最近的曲目)
对于SSH的东西,我想Ctrl+ a d分离和/ screen -r或screen -r session_name重新连接到一些会话解决我的所有问题,现在我正在尝试了解日志记录.
我发现screenlog并hardcopy在此链接上,基本上说:
hardcopy Ctrl + a h将当前显示内容写入
hardcopy.n窗口默认目录中的文件,其中n是当前窗口的编号.如果该文件存在,则会附加或覆盖该文件(由hardcopy_append命令确定).log Ctrl + a H开始/结束当前窗口的记录到
screenlog.n窗口默认目录中的文件,其中n是当前窗口的编号.如果未给出参数,则切换日志记录状态.会话日志将附加到文件的先前内容(如果已存在).回滚历史记录的当前内容和内容不包括在会话日志中.默认是off.
因此,据我所知并尝试使用它们,启用后screenlog,它会记录我写的所有内容以及该文件中的终端的所有输出(这恰好$HOME适用于我),包括那些改变颜色的字符\033[1;31mm.如果我这样做cat screenlog.0,它会崩溃,有时无限期地打印文件,但好吧,我可以用编辑器或其他会话打开它...
至于hardcopy,显然它没有跟踪命令,也没有输出的颜色,我不知道它是否只需要终端中可见的那几行或该会话中发生的一切,有人可以向我澄清这一点吗?
最后,我开screen的Terminator,而不是传统的终端,即使我打开不同screen的不同的Windows会话Terminator,所有日志去screenlog.0或hardcopy.0.在这种情况下screenlog,它是否会与在其他会话上输出或覆盖它的另一个进程冲突?如何创建不同的screenlog.n文件并将它们放在除以外的目录中$HOME?
只是总结一下,推荐哪一个?对于这个大问题我很抱歉,但是我试图以一种方式来编写它,以便澄清这些日志的细节,我很难在其他地方找到它们.如果我说错了,请随意纠正我:)
hardcopy命令不保存字符属性(颜色、粗体等),但是使用“-h”参数还保存回滚缓冲区的内容。
可以通过命令设置硬拷贝文件的目标目录hardcopydir;现有文件不会移动,并且此设置适用于当前打开的所有窗口和将来的窗口;日志文件的目录是“窗口的默认目录”——这可以通过以下方式更改chdir命令更改;它适用于当前窗口和所有未来窗口。
日志文件名称模式可以通过命令设置logfile。所有screen的转义序列都应该在该模式中工作;例如,logfile screenlog.%Y%m%d.%S.%n。但是,硬拷贝文件名模式是硬编码的。
| 归档时间: |
|
| 查看次数: |
2303 次 |
| 最近记录: |