我们知道,终端记录的会话是有缓存大小限制的,当在终端打印的消息超出缓存范围,前面打印的内容就会被覆盖,这往往给我们调试程序带来不便。
如何将终端打印的所有内容保存起来呢?script是大多数Linux产品util-linux软件包的一部分。使用script可以记录Linux终端会话:你输入的内容和你看到的内容。它甚至记录颜色。因此如果你的命令提示符或程序输出中包含颜色,script都会记录它。
基本方法:
- script -f screen.log
- #开始记录
- exit
- #退出记录
缺点:使用script会记录所有特殊的字符;因此你输入的文件中将充满控制字符和ANSI转义序列。你可以在script中使用一个非常简单的shell来解决这个问题:
改进方法:
- SHELL=/bin/bash PS1=”$ ” script –f screen.log
- #开始记录
- exit
- #退出记录