您的位置:首页 > 运维架构 > Linux

Linux的script命令——隐藏在终端的记录器

2017-08-30 11:42 489 查看
http://blog.jobbole.com/70563/

当你在终端或控制台上工作时,你可能想记录下自己做了些什么。这种记录可以看成是保存了终端痕迹的文档。假设你跟一些Linux管理员同时在系统上干活。或者说你让别人远程到你的服务器。你就会想记录下终端发生过什么。要实现它,你可以使用script命令。

script是啥

script是将终端会话制成打印稿的命令。对于想重现终端输入输出历史的人来说,十分管用。而且,这些记录还能被保存或打印。

如何使用它

一般地,我们可以通过在终端上敲入script来启动它。

Shell

123pungki@dev-machine:~$ script Script started, file is typescript pungki@dev-machine:~$
还可以指定一个目标文件来保存打印稿的结果。

当你再次收到一条命令提示,就说明终端上出现的任何东西,都将被记录下来。不指定文件的话,你会看到在当前目录,有了一个叫“typescript”的文件。为什么要用它就像之前提到的,script的主要功能是记录一切。以下是两个展示其用途的示例场景。与同事合作当与同事协同工作时,我们可以使用script来记录自己的活动。假设我们将使用一个叫collaborate的打印稿文件。像这样的话就输入:

接着,在干了一下事情之后,假设你想将你个工作交接给另一个工程师,那就发送那个文件吧。当他想回顾你做的事,只需打开那个文件便可。如果他想在那个文件的基础上追加记录,可以使用-a选项。

记录他人活动你可以让你的工程师或别的什么人远程登入到你的系统。为了确认他们做对了没,你可以记录下他们做了什么。想要script在登录时就生效,我们可以将其加在shell profile。如果你在使用bash,讲一下几行放进profile去吧。Shell

1

2

3

4

5

6

$
vi
~/.profile

 

#
run the script command to record everything

#
use -q for quite and -a option to append the script

#

/usr/bin/script
-qa
/usr/local/script/log_record_script

然后保存。下次他再登录的时候,script就会自动运行并将记录追加在/usr/local/script/log_record_script





选项-q是安静模式。用户登录时完全不会察觉到script命令的运行。而选项-a是追加,不会覆盖以往的记录。

如果不用-q,用户登录时就会因如下画面而察觉script的存在。





停止记录

敲击ctrl+d或exit,可以停止记录。你会发现写入记录是发生在停止之后的。

结论

script命令对于记录终端历史还是挺有用的。将记录保存在文本文件,这样可以很方便地用任何文本编辑器打开。平时,我们可以使用man script或script -h来更深地挖掘它。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: