zoukankan      html  css  js  c++  java
  • 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停止录像和退出用户。
    播放
    必须得时许信息在前,命令信息在后。
  • 相关阅读:
    node错误: primordials is not defined
    单片机TTL转RS232模块DB9数据线接口排针接口多接口方便连接
    单片机串口自适应电平5V TTL电平兼容转换3.3V电平串口转换NMOS管
    USB串口转RS485转换器工业级usb串口转RS485模块转换器串口通讯
    Kafka丢数据、重复消费、顺序消费的问题
    纪念第一次做的拉花拿铁
    《奢侈的理由》总结
    【算法框架套路】回溯算法(暴力穷举的艺术)
    svg中矩形旋转问题
    性能测试工具集锦
  • 原文地址:https://www.cnblogs.com/cornell/p/3833955.html
Copyright © 2011-2022 走看看