Linux script命令来记录你所有终端命令操作
2014-07-05 09:18
615 查看
原文地址 http://linux.cn/article-3195-1.html
当你在终端或者控制台工作时,你可能想要记录在终端中所做的一切。这些记录可以用来当作史料,保存终端所发生的一切。比如说,你和一些Linux管理员们同时管理着相同的机器,或者你让某人远程登陆到了你的服务器上,你可能记录想要终端里发生的一切。要实现这个目标,你可以使用script命令。
scirpt就是一个命令,可以制作一份记录输出到终端的记录。对于那些想要真实记录终端会话的人来说,这很有用。该记录可以保存并在以后再打印出来。
默认情况下,我们可以通过在终端中输入script来启动scirpt命令。
你也可以指定目标文件名来记录打印结果。
当你再次见到命令提示符,这意味着终端将记录打印到终端的任何东西。
你会看到当前目录,有个名为myscript的文件。(LCTT译注,此处原文有误。这里指定了记录文件名为myfile,而不是默认的 typescript。)
因为在之前已经提到过,script命令的主要功能是记录所有的东西。下面给出了两个使用该命令的场景。
当和同事一起工作时,我们可以通过script来记录你的活动。
比如,我们会使用名为collaborate的打印文件,来完成打印:
然后,在完成一些任务后,假如你需要把你干的活发给另外一个工程师,那就把那文件发给他。所以当另外一个工程师需要复查所做的事情,他只要用文本编辑器打开这个文件就行了。
如果他想要更新该文件(以增加他的工作部分),可以使用-a选项。
你可能让你的工程师或者某个人远程访问你的系统,要确保你的工程师正在干正确的事,你可以记录下他在你系统上的所作所为。要让script命令在登录时自动运行,我们可以把它添加进shell环境配置文件中。如果你正在使用bash shell,把这一行加进你的bash环境配置文件中。
然后保存。下次他登录进你的系统时,script命令就会自动运行,并把日志记录进/usr/local/script/logrecordscript。
-q选项可以让scirpt命令以静默模式运行,登录进来的用户不会知道script命令已经运行了。而-a选项将会让记录附加到文件中,而不会擦除先前的记录。
如果不使用-q选项,那么当用户登录进来时,他会收到像下图中这样的通知。
要退出记录活动,我们可以在终端中按下Ctrl+D,或者输入exit。在退出script前,你会发现记录文件的大小为0 Kb,而在退出之后,文件大小会发生改变。
Script命令在你需要记录或者存档终端活动时可能很有用,记录文件会存储为文本文件,所以可以很方便地用文本编辑器打开。跟平常一样,我们都可以通过输入man script或者scirpt -h来显示帮助页并查看更多详细用法。
当你在终端或者控制台工作时,你可能想要记录在终端中所做的一切。这些记录可以用来当作史料,保存终端所发生的一切。比如说,你和一些Linux管理员们同时管理着相同的机器,或者你让某人远程登陆到了你的服务器上,你可能记录想要终端里发生的一切。要实现这个目标,你可以使用script命令。
script是什么
scirpt就是一个命令,可以制作一份记录输出到终端的记录。对于那些想要真实记录终端会话的人来说,这很有用。该记录可以保存并在以后再打印出来。
怎么用
默认情况下,我们可以通过在终端中输入script来启动scirpt命令。pungki@dev-machine:~$ script Script started, file is typescript pungki@dev-machine:~$
你也可以指定目标文件名来记录打印结果。
pungki@dev-machine:~$ script myfile
当你再次见到命令提示符,这意味着终端将记录打印到终端的任何东西。
你会看到当前目录,有个名为myscript的文件。(LCTT译注,此处原文有误。这里指定了记录文件名为myfile,而不是默认的 typescript。)
为什么我们要用script命令
因为在之前已经提到过,script命令的主要功能是记录所有的东西。下面给出了两个使用该命令的场景。
和同事共事时
当和同事一起工作时,我们可以通过script来记录你的活动。比如,我们会使用名为collaborate的打印文件,来完成打印:
$ script collaborate
然后,在完成一些任务后,假如你需要把你干的活发给另外一个工程师,那就把那文件发给他。所以当另外一个工程师需要复查所做的事情,他只要用文本编辑器打开这个文件就行了。
如果他想要更新该文件(以增加他的工作部分),可以使用-a选项。
$ script -a collaborate
记录某人在终端中的所作所为
你可能让你的工程师或者某个人远程访问你的系统,要确保你的工程师正在干正确的事,你可以记录下他在你系统上的所作所为。要让script命令在登录时自动运行,我们可以把它添加进shell环境配置文件中。如果你正在使用bash shell,把这一行加进你的bash环境配置文件中。$ 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/logrecordscript。
-q选项可以让scirpt命令以静默模式运行,登录进来的用户不会知道script命令已经运行了。而-a选项将会让记录附加到文件中,而不会擦除先前的记录。
如果不使用-q选项,那么当用户登录进来时,他会收到像下图中这样的通知。
退出记录
要退出记录活动,我们可以在终端中按下Ctrl+D,或者输入exit。在退出script前,你会发现记录文件的大小为0 Kb,而在退出之后,文件大小会发生改变。
结尾
Script命令在你需要记录或者存档终端活动时可能很有用,记录文件会存储为文本文件,所以可以很方便地用文本编辑器打开。跟平常一样,我们都可以通过输入man script或者scirpt -h来显示帮助页并查看更多详细用法。
相关文章推荐
- Linux下通过script 命令记录(数据库)操作步骤
- Linux学习记录(3)认识终端以及一些基本的操作命令
- linux下script命令记录终端会话
- 用script命令记录终端的操作和输出信息到文件
- linux记录系统中常用重要的log记录和用户的所有操作精确命令记录
- 在Linux下使用script命令记录数据库操作
- linux 下script命令记录终端会话
- linux记录系统中常用重要的log记录和用户的所有操作精确命令记录
- 【Linux学习 】Linux使用Script命令来记录并回放终端会话
- 使用script命令记录Linux终端会话 scriptreplay回放
- Linux下记录所有用户的操作命令,以方便后期审计
- Linux下查看用户登陆后的操作记录及history命令显示时间
- linux用户命令操作记录脚本
- 〖Linux〗以后台方式启动/结束指定程序/命令(不受 exit 或点击窗口关闭按钮等终端退出操作的影响)
- Linux下记录所有用户操作的脚本
- 通过登陆IP记录Linux所有用户登录所操作的日志
- Linux下查看用户登陆后的操作记录及history命令显示时间
- 通过登陆IP记录Linux所有用户登录所操作日志的方法
- Linux命令——history查看用户操作记录及时间
- 按时按登录IP记录Linux所有用户操作日志的方法(附脚本)