本文由Suzzz原创,发布于 http://www.cnblogs.com/Suzzz/p/4107700.html ,转载请保留此声明。

有时候可能想要记录在终端的所有操作包括输出等,将来作为视频播放。系统管理员可能需要记录某些用户的操作。另外可能有时需要向人实时演示一些操作流程。 这些都可以通过script来实现。

script简介

script命令用来将终端会话保存。用法如下

  1. Usage:
  2. script [options] [file]
  3.  
  4. Options:
  5. -a, --append append the output
  6. -c, --command <command> run command rather than interactive shell
  7. -r, --return return exit code of the child process
  8. -f, --flush run flush after each write
  9. --force use output file even when it is a link
  10. -q, --quiet be quiet
  11. -t, --timing[=<file>] output timing data to stderr (or to FILE)
  12. -V, --version output version information and exit
  13. -h, --help display this help and exit

常用的有

-a  指定输出附加到一个文件中,不会覆盖,这样可以一直使用同一个文件

-t   用来输出时间信息,回放的时候用到

-q   不显示script启动和exit的命令,这样用户可以完全察觉不到在录屏

-f   每次操作后都立即刷新缓存。 如果不设置这个选项,则不会实时写入文件。

用法示例

记录

提示script启动,并且记录到指定文件中。 如果这个文件已存在,希望追加记录,加上 -a  选项

使用Ctrl + D 后者 exit退出记录

如果想要同时输出时间文件

  1. script -t timingfile -a scriptfile

回放

需要 scriptreplay 这个命令

  1. scriptreply timingfile scriptfile

效果就和视频录制的差不多

自动记录用户活动

可以在用户的 .profile中添加上

  1. /usr/bin/script -qa logfile

下次用户登陆,script就会自动保存到 logfile

-q 是为了不显示 “ Script started...."这样的提示文本,从而使用户完全察觉不到script的存在。

向多个用户广播自己的终端操作

操作这本身在终端中建立一个 fifo 文件(关于fifo和mkfifo,可以放狗搜一下),用于通信

  1. $ mkfifo PATH/testfifo

其他多个用户查看这个文件

  1. $ cat PATH/testfifo

操作者开始用script记录自己的操作,并实时保存到 testfifo 中

  1. script -f PATH/testfifo

记得最开始讲的 -f 作用吧? 让script实时写到文件中

这样,其他用户就可以看到操作者的演示了。

Linux终端录屏与播放 script 命令的更多相关文章

  1. linux下录屏和回放工具script和scriptreplay

    读书是一个长见识的过程,以前偶尔会用到录屏的工具,很少用想系统的学习一下.最近看了linux shell脚本攻略,发现很多新东西是以前自己没有接触到的.比如,这个非常好用的录屏工具:script,这次 ...

  2. linux中录屏工具byzanz

    linux中录屏工具byzanz: 1.安装 sudo apt install byzanz 2.使用 help:byzanz-record --help 配合xwininfo使用--xwininfo ...

  3. Linux下录屏

    我喜欢的: Gnome系用户,按ctrl+shift+alt+r,屏幕右上角有红点出现,开始录屏,结束的话再按一次ctrl+shift+alt+r,录好的视频在 ~/Videos下 ffmpeg # ...

  4. linux 终端分屏命令

    比如:某文件夹下有文件:vector.cc, substr.cc 1.使用vim命令打开任意一个文件:vim vector.cc打开第一个文件.如下图所示: 2.按:"Esc"键 ...

  5. linux 终端分屏命令vsp(转)

    比如:某文件夹下有文件:vector.cc, substr.cc 1.使用vim命令打开任意一个文件:vim vector.cc打开第一个文件.如下图所示: 2.按:"Esc"键 ...

  6. 自制Linux 终端 锁屏防窃助手

    很多时候我们不能一直守护在自己的电脑旁边,而且有些文件并不想让别人知道.那么这时候来个锁屏,是再合适不过的了.今天分享一个自制的锁屏工具,如下. 准备 操作系统 : 我这里是ElementaryOS虚 ...

  7. 切换Python环境 linux终端命令行

    切换Python环境 conda info -e // 查看有什么环境 source activate env //切换环境 linux终端分屏 terminator  https://www.jia ...

  8. Linux 终端下的颜色

    Linux 终端下颜色的输出 在命令行下也能产生五颜六色的字体和图案,只需要加上一些颜色代码,例如 echo -e "\033[41;36m 红底绿字\033[0m" 其中41的位 ...

  9. Unity 利用FFmpeg实现录屏、直播推流、音频视频格式转换、剪裁等功能

    目录 一.FFmpeg简介. 二.FFmpeg常用参数及命令. 三.FFmpeg在Unity 3D中的使用. 1.FFmpeg 录屏. 2.FFmpeg 推流. 3.FFmpeg 其他功能简述. 一. ...

随机推荐

  1. OCI编程

    OCI编码步骤: .定义OCI数据结构 .连接到Oracle数据库:使用orlon函数调用还可以并发连接多个数据库. .打开光标.通过调用oopen来打开一个光标. .分析语句.使用oparse来分析 ...

  2. 【HackerRank】The Love-Letter Mystery

    James找到了他的朋友Harry要给女朋友的情书.James很爱恶作剧,所以他决定要胡搞一下.他把信中的每个单字都变成了回文.对任何给定的字符串,他可以减少其中任何一个字符的值,例如'd'可以变成' ...

  3. 关于pycharm中的requirements.txt文件

    作用:记录所有所依赖的第三方模块,方便迁移到不同的环境中后,防止缺少模块,或因为所依赖的第三方模块版本不同引起不必要的问题 生成命令:pip freeze > requirements.txt ...

  4. 安装mysql5.7后无法启动,/var/run/mysqld 目录每次重启后都需要手动去创建--终极解决方案

    鉴于很多童鞋反应,mysql5.7安装后出现无法启动,建立/var/run/mysqld 并赋权mysql用户解决了启动的问题,但是重启系统后又出现无法启动的问题,导致/var/run/mysqld ...

  5. Struts2的Action中访问servletAPI方式

    struts2的数据存放中心为ActionContext,其是每次请求来时都会创建一个ActionContext,访问结束销毁,其绑定在ThreadLocal上,由于每次访问web容器都会为每次请求创 ...

  6. 在shell中使用sendmail发送邮件

    cat > sendmymail.sh #!/bin/bash/usr/sbin/sendmail -t <<EOFFrom: Mail testing <abc@gmail. ...

  7. Java循环日期

    //循环日期 Calendar ca = Calendar.getInstance(); Date curDate = startDate; while(curDate.compareTo(endDa ...

  8. POJ2741 Colored Cubes

    Description There are several colored cubes. All of them are of the same size but they may be colore ...

  9. 对象存储API

    使用对象存储API步骤: 1.购买腾讯云对象存储(COS)服务 2.在腾讯云 对象存储控制台 里创建一个Bucket 3.在控制器 个人API密钥 页里获取APPID,SecretID,SecretK ...

  10. 刻录DVD.XP系统盘(U盘)

    ZC:用这个软件,安装太慢了... 忽然发现 以前有别的软件可以使用:http://www.cnblogs.com/vmskill/p/6196522.html 1.我是在这个论坛看到 这个工具的:h ...