script记录Linux命令行屏幕输出

问题源于实践,实践解决问题——
为客户做检查的过程中,经常会遇到这么一个问题:客户希望你能够把所有输入的命令保留下来,如果可能,最好连输出都保留下来。我就曾经盯着专家的操作过程,把他在某客户RAC中各个节点上输入的命令一条一条记下来,好处是这确实很锻炼,记一遍能帮助理清很多思路。 当然也有不好的一点,实在是太累眼。
我们知道,客户的需求在SQLPLUS中比较好实现,SPOOL TEST.TXT一下便可,等命令都搞完了,SPOOL OFF,然后退出SQLPLUS,把spool指定的文件导出。如果客户需要你把LINUX下的命令和输出也记录下来,怎么搞?
Script
script命令可以实现类似spool的功能,不过记录的是linux prompt后面的命令和输出,从man page中获取关于script的功能描述
DESCRIPTION
     Script makes a typescript of everything printed on your terminal. It is useful for students who need a hardcopy record of an interactive session as proof of an assignment, as the typescript file can be printed out later with lpr(1).
     If the argument file is given, script saves all dialogue in file. If no file name is given, the typescript is saved in the file typescript.
相信大家英文都比我好,不详解,只要读明白两点就行:script命令可以帮你做“笔记”;如果不指定文件名,系统默认文件名为typescript。
至于typescript的格式,我们可以通过file进行查看
[[email protected] ~]$ file typescript 
typescript: ASCII English text, with CRLF, LF line terminators, with escape sequences
 
用法:
script -a
    在之前的typescript文件后继续添加本次的输出。你想到了什么?对,是>>
script -c COMMAND
    只对后面运行的命令进行记录。你又想到了什么?对,是>
    例:script -c cal 此命令与cal > typescript效果大致一致,记录的主要内容相同,前一个命令既在屏幕上输出了命令执行的结果,又将结果记录到了typescript中。而后一个命令不在屏幕上显示输出,只在文件中进行记录。
 
要记录的输出记录完毕后,输入exit,结束script程序。
 
至于-t 和-q两个options,请明白人指点。
-f options貌似非常有用,尚未实践成功,记录在此,择日深究。
 
原创文章,转载请注明,欢迎留言交流!
普人特福的博客cnzz&51la for wordpress,cnzz for wordpress,51la for wordpress