使用script记录Linux终端会话

来源:互联网 发布:小额网络贷款平台 编辑:程序博客网 时间:2024/05/20 06:05

script命令是用来记录终端输出的,它是大多数Linux产品util-linux软件包的一部分。

script记录会话的一切内容:你输入的内容和你看到的内容。它甚至记录颜色;因此如果你的命令提示符或程序输出中包含颜色,script将记录它。

要使用script,简单执行以下命令:

$ script

默认情况下,它向当前目录的typescript文件中写入内容。然后,你输入的一切内容都被记录到那个文件中。
要往另一个文件中记录日志,只需使用script /path/to/testscript.log命令,如果文件/path/to/testscript.log已经存在,则清空原来的内容,然后记录
新会话记录,如果文件/path/to/testscript.log不存在,则先创建这个文件,需要目录/path/to已经存在,否则script命令失败。

完成记录后,输入exit退出。这个命令将关闭script会话并保存文件。
现在你可以使用cat或其它任何程序来检查日志文件/path/to/testscript.log(如果没有指定文件的话,就是当前目录下的typescript文件)。

如果想把多次会话记录追加到一个已经存在的文件中,可以使用-a选项:
script -a /path/to/testscript.log
这样script命令会把新的会话记录到/path/to/testscript.log文件的末尾。使用-a选项的时候,如果指定的文件不存在,将会创建一个新的文件。

使用script的缺点在于,它记录所有特殊的字符;因此你输入的文件中将充满控制字符和ANSI转义序列。你可以在script中使用一个非常简单的shell来解决这个问题:

$ SHELL=/bin/sh PS1="$ " script

使用script时,不要使用交互式程序或处理窗口的程序,如vior top。它们会破坏会话的输出结果。
另外,日志文件会记录你使用的任何命令行程序和你完成一项任务所采取的步骤。
如果你需要在脚本中编辑一个文件,考虑退出script会话,然后用script –a(它在旧会话后添加新会话)对文件进行编辑后再重新启动会话。

原创粉丝点击