• linux下神奇的script命令


      script 是一个神奇命令,script 能够将终端的会话过程录制下来,然后使用 scriptreplay 就可以将其录制的结果播放给他人观看。script 的好处就在于你在终端中的所有操作、敲过的命令和打印出的结果它都可以原原本本地进行录制。可以应用于教学、演示、审计。
    一般来说,script 和 scriptreplay 在 Linux 发行版中都有默认安装。
    script -t 2>demo.time -a demo.his            开始录像,ctrl+d或者exit结束
    scriptreplay demo.time demo.his            回放
    两个配置文件被当做script命令的参数。这两个文件可以随便命名,这里用demo.time和demo.his。其中demo.time用于存储时序信息,描述每一个指令在何时运行;demo.his用于存储命令信息输出。-t选项用于将时序数据导入stderr。2>用于stderr重定向到demo.time。
     
    参数:
    -t     指明输出录制的时间数据
    -f         如果需要在输出到日志文件的同时,也可以查看日志文件的内容,可以使用 -f 参数。PS:可以用于教学,两个命令行接-f可以实时演示
    -a         输出录制的文件,在现有内容上追加新的内容
    -q         可以使script命令以静默模式运行
     
    利用script记录某人行为
    vi ~/.profile
    script -t -f -q 2>$USER.time -a $USER.his
     
    应用:
    1、演示教学
    第一个命令框
    script -f demo
    其他命令框
    scriptreplay -f demo
    可以实现实时同步演示
    2、服务器安全审计
    直接操作线上的服务器有很大隐患,所以一般都是通过登录跳板机,然后连接线上服务器,跳板机可以访问控制和安全审计,查看记录每个人对线上服务器的操作
    用户家目录下,修改环境变量,使得用户登录就会触发录像
    vi ~/.profile
    script -t -f -q 2>/wow/$USER-$UID-`date +%Y%m%d%H%M%S`.time -a /wow/$USER-$UID-`date +%Y%m%d%H%M%S`.his
    这样搞完后,发现有一个问题是每次退出,我习惯Ctrl+D,然后按第一遍停止录像,第二遍才能用户退出,如何解决在后面添加
    if [ "$SHLVL" = 1 ]; then
                exit
    fi
    这样就可以一遍Ctrl+D停止录像和退出用户。
    播放
    必须得时许信息在前,命令信息在后。
  • 相关阅读:
    Permutation Sequence
    Sqrt(x)
    Search in Rotated Sorted Array ||
    [STL]list的erase正确与错误用法
    一个支持Git应用编程开发的第三方库(API)
    VC++生成full dump文件
    Maven构建C++工程的插件-NAR
    VC++ Watch窗口查看指针指向的数组
    Android SDK更新失败的解决方法
    ADT20新建项目Android Support library not installed问题
  • 原文地址:https://www.cnblogs.com/cornell/p/3833955.html
Copyright © 2020-2023  润新知