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

Linux script and scriptreplay(一)

2016-04-25 20:56 381 查看

前言

偶然发现linux里面两个比较有意思的命令script和scriptreplay,其中script是用来录制命令的,scriptreplay用来重放录制文件。机器为ubuntu。

script和scriptreplay的使用

看一下script的帮助文档

script -h

Usage:
script [options] [file]

Options:
-a, --append            append the output
-c, --command <command> run command rather than interactive shell
-r, --return            return exit code of the child process
-f, --flush             run flush after each write
--force             use output file even when it is a link
-q, --quiet             be quiet
-t, --timing[=<file>]   output timing data to stderr (or to FILE)
-V, --version           output version information and exit
-h, --help              display this help and exit


使用script

script -t out.data 2>out.time
#以上2>out.time表示将stderr重定向到out.time文件中
#之后随意输入命令
#最后输入ctrl+d退出


scriptreplay帮助文档

scriptreplay -h

Usage:
scriptreplay [-t] timingfile [typescript] [divisor]

Options:
-t, --timing <file>     script timing output file
-s, --typescript <file> script terminal session output file
-d, --divisor <num>     speed up or slow down execution with time divisor
-V, --version           output version information and exit
-h, --help              display this help and exit


使用scriptreplay重放命令

scriptreplay -t out.time out.data


下载script和scriptreplay源码

找到script的位置

#找到script的位置
which script
/usr/bin/script
#查看找到的文件是否是软连接,是则继续找
ls -l /usr/bin/script
-rwxr-xr-x 1 root root 14760 Aug  5  2015 /usr/bin/script


找到script属于哪个包

dpkg -S /usr/bin/script
bsdutils: /usr/bin/script
#script属于bsdutils这个包的


下载bsdutils源码

sudo apt-get source bsdutils
ls -l #这里已经下载好了
drwxr-xr-x 31 root root    4096 Apr 17 15:55 util-linux-2.20.1
-rw-r--r--  1 root root  117861 Sep  3  2015 util-linux_2.20.1-5.1ubuntu20.7.diff.gz
-rw-r--r--  1 root root    3257 Sep  3  2015 util-linux_2.20.1-5.1ubuntu20.7.dsc
-rw-r--r--  1 root root 6174190 Dec 17  2011 util-linux_2.20.1.orig.tar.gz


查找script所在位置

find -L util-linux-2.20.1 -name "*script*"
#以下是结果,现在可以去查看相关源代码了
util-linux-2.20.1/debian/README.script
util-linux-2.20.1/term-utils/script.c
util-linux-2.20.1/term-utils/script.1
util-linux-2.20.1/term-utils/scriptreplay.c
util-linux-2.20.1/term-utils/scriptreplay.1
util-linux-2.20.1/tests/expected/script
util-linux-2.20.1/tests/ts/script


重新编译script

用apt-get安装依赖

sudo apt-get build-dep bsdutils


编译

./configure
make
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: