我们在调试程序的时候,难免会抓取一些日志进行分析。如果日志量不是很大,也很简单,简单的复制粘贴即可。但是如果做一些压力测试,产生了很多日志,而系统内存又比较小(比如嵌入式设备),怎么处理呢?当然secureCRT和mobaXterm都有本地保存日志的功能,使用起来也很方便。但是有些工具,比如putty,是没有这个功能的。这时候,终端中的记录器——脚本就派上用场了。使用场景调试产生大量的日志应用,需要保存到本地以供进一步分析;与同事合作,自己完成一半的工作,可以将操作过程记录下来发给同事,同事可以根据记录继续工作;让人远程协助你,不用担心对方胡作非为,同时,你也可以留下记录。最好记录下他的操作。如何使用脚本命令?默认情况下直接输入script命令,它会自动在当前目录下创建一个typescript文件,然后你在这个终端上的所有操作都会记录在这个文件中。记录文件为文本文件,可以用任何文本工具打开查看。如果要退出录制,可以在终端中按快捷键ctrl+D或直接输入exit。退出脚本前,你会发现记录的文件大小为0Kb。退出后,文件大小会增加。[alvin@VM_0_16_centostest]$scriptScript启动,文件是typescript[alvin@VM_0_16_centostest]$echohellohello[alvin@VM_0_16_centostest]$lstest1.pytest2test2.cpptest2.pytest3test3.ctest.pytypescriptWeixinBotwxpywxRobot[alvin@VM_0_16_centostest]$exitexitScriptdone,fileistypescript如果我们想自己创建一个文件名,或者把文件放在其他位置,那么我们可以直接在脚本后面加上文件名。[alvin@VM_0_16_centostest]$script~/alvin-scriptScript开始,文件是/home/alvin/alvin-script[alvin@VM_0_16_centostest]$lltotal64-rw-rw-r--1alvinalvin21Nov1009:40test1.py-rwxrwxr-x1alvinalvin14074Dec3107:35test2-rw-rw-r--1alvinalvin403Dec3107:35test2.cpp-rw-rw-r--1alvinalvin209311月10日10:50test2.py-rwxrwxr-x1alvinalvin85531月7日20:03test3-rw-rw-r--1alvinalvin781月7日20:03test3.c-rw-rw-r--1alvinalvin94Nov923:25test.py-rw-rw-r--1alvinalvin489Jan1112:07typescriptdrwxrwxr-x6alvinalvin4096Nov1011:19WeixinBotdrwxrwxr-x6alvinalvin4096Nov1011:30wxpydrwxrwxr-x11alvinalvin4096Nov1011:34wxRobot[alvin@VM_0_16_centostest]$echohellohello[alvin@VM_0_16_centostest]$exexitScript完成,文件是/home/alvin/alvin-script学习这两个基本操作,可以应对很多需要终端录制的场景。如何使用脚本与同事协作?现在有个工作需要和同事协作,我完成一半,他完成另一半。首先,我会做我的工作,用脚本记录我的工作过程:[alvin@VM_0_16_centostest]$scriptcooperate-jobScriptstarted,fileiscooperate-job[alvin@VM_0_16_centostest]$echothisisalvin_sjobthisisalvin_sjob[alvin@VM_0_16_centostest]$lscooperate-jobtest1.pytest2test2.cpptest2.pytest3test3.ctest.pytypescriptWeixinBotwxpywxRobot[alvin@VM_0_16_centostest]$exexitScript完成,文件为cooperate-job,发送记录文件给同事,他可以用文本工具打开,他就可以知道你的进度,然后根据你的进度工作。如果他想在你的日志文件中记录他的操作,他可以??加一个-a选项,这是append的缩写。[alvin@VM_0_16_centostest]$script-acooperate-jobScriptstarted,fileiscooperate-job[alvin@VM_0_16_centostest]$echothisisharry_sjob这是harry_sjob[alvin@VM_0_16_centostest]$pwd/home/alvin/test[alvin@VM_0_16_centostest]$exexitScriptdone,fileiscooperate-job当请人远程协助时,如何记录他的操作过程?让别人登录你的电脑,如果是熟人,还好,但如果是陌生人,就会觉得有些不自在。为了放心,还是偷偷记录一下他的所作所为吧。我们可以将脚本命令添加到Shell配置文件中。一旦用户登录,脚本命令将自动启动并记录操作员的所有操作过程。为此,我们可以修改.bash_profile文件。vim~/.bash_profile在最后一行,我们添加脚本命令:/usr/bin/script-qayour_path#完成自己的路径并保存,使用source或.命令使其生效。下次其他人登录系统时,该脚本将自动运行并将日志文件保存在您指定的位置。这里的-q选项代表静默录音,对方不会知道你在后台录音。如果不使用这个选项,他会收到这个提示:Lastlogin:FriJan1115:13:372019from119.33.28.6Scriptstarted,fileis/home/alvin/test/script-file#Prompt[alvin@VM_0_16_centos~]$最后,最近有很多朋友找我要一份Linux学习路线图,所以我根据自己的经验,利用业余时间熬夜一个月,整理了一本电子书。无论你是面试还是自我提升,相信都会对你有所帮助!免费送给大家,只求大家给我点个赞!电子书|LinuxDevelopmentLearningRoadmap也希望有小伙伴可以和我一起把这本电子书做得更完美!获得?希望老铁们来个三连击,让更多人看到这篇文章。推荐阅读:干货|程序员和高级架构师免费发送工件的必备资源|支持搜索的资源网站
