Script可用于记录当前用户的操作记录,默认写在typescript文件中。
成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:做网站、成都做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的高县网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
用法:usage: script [-a] [-f] [-q] [-t] [file]
参数:
-a:追加到输出文件
-f:输出到指定文件
-q:安静模式,不显示Script started…这些信息
-t:指定时间文件和日志文件,格式:-t time.log action.log,用于回放操作。
蓝光影碟更以它清晰的画面博得了电影发烧友的青睐。那么如何在 Linux 平台上欣赏蓝光影碟带来的视觉盛宴呢?首先介绍下朝内通常能见到的几种蓝光影碟: 不具备任何版权保护的蓝光。这包括了蓝光个人影像光盘,和以 Blu-ray Ultra 为代表的 D 版蓝光。前者可能来自于 Nero Media Home 等多媒体剪辑软件的输出并刻录,一般目录结构为 AVCHD 或者 BDAV;而后者目录结构多为 BDMV。Blu-ray Ultra 实际上是使用特殊软件从正版蓝光提取出来,除去了版权保护机制,然后写入 BD-R 载体,有些甚至还放在山寨正版的包装盒中蒙骗消费者。不过相比于以双层 DVD 为载体的 Real Blu-ray 伪蓝光而言,Blu-ray Ultra 的真正蓝光介质至少在一定程度上保证了有足够的容量放下未经二重压缩的视频和音轨。若是制品者不是太坑的话,原盘中的幕后花絮和交互式内容也可能保留。只有AACS 加密的正版蓝光,仅见于海淘、音像店角落及收藏家手中,价格难以界定。属于早期蓝光制品,在 AACS 被爆掉之后就已经不在生产了。使用BD+ 和 AACS 加密的正版蓝光,当下主要的正版蓝光影碟,见于各大电商和蓝光形象店。尽管朝内土地在蓝光分区时被归于 C 区,不过为了考虑到朝内复杂的蓝光回放设备来源,实际上不少在朝内正规渠道发行的蓝光影碟都是没有区域码的。不过相对在其他地区发行的版本,在附加内容上就有一些缩水了。下面以 Fedora 18 64bit 系统,先锋BDC-207BK 蓝光康宝为例介绍如何在 Linux 下实现回放上面介绍的三种蓝光影碟。在开始之前,请确保您的 Fedora 系统已经启用了 RPMFusion 仓库,并安装了 VLC Player:pkcon install vlc无版权保护的蓝光影碟VLC 从 2.0 开始已经可以理解蓝光影碟所用的 BDMV 和 BDAV 的结构,只是到目前为止蓝光交互式菜单的一直没有实现。于是对于不包含版权保护的蓝光影碟是可以直接播放的。如上图,在 VLC 文件菜单中选择打开光盘,格式选择为 Blu-ray,勾选上 “No discs menu” 即可。注意若忘记勾选后者的话可能会导致 VLC 崩溃哦~仅使用 AACS 加密的蓝光影碟播放仅包含 AACS 加密的蓝光影碟需要两个额外部分组件,一是公钥库文件,可以从这里下载(最后更新 2012 年 4 月 20 日),然后放置到 $HOME/.config/aacs/ 目录下即可。另一个组件是 AACS 的开源实现动态链接库,可以从 rpmfusion 仓库里获得:pkcon install libaacs之后即可使用和打开 Blu-ray Ultra 同样的方式在 VLC 中播放仅有 AACS 加密的蓝光影碟了。带有BD+ 和 AACS 蓝光影碟对于增添了 BD+ 保护的蓝光影碟情况则要复杂很多,要求一个可供 BD+ 虚拟机来运行版本验证程序,实现检查播放环境是否满足 HDCP 的安全播放要求的工作。目前来看只有来自 GuinpinSoft 的 MakeMKV 可以比较完美的在 Linux 系统下模拟一个 BD+ 虚拟机并同时实现 AACS 解密。MakeMKV 是一款共享软件,其中 DVD 和 AVCHD 的流媒体及转码是免费的,对于蓝光则有 30 天体验的限制。不过目前它尚在 Beta 测试阶段,所有功能完全免费使用,在此获得Beta 期间注册码即可。MakeMKV 由开源的设备驱动及图形界面,和闭源二进制的 BD+ 虚拟机实现等核心功能两部分组成。Linux 用户可以在官方论坛免费下载到这两部分,分别为 makemkv-oss 及makemkv-bin。接下来需要安装一些编译所依赖的软件包。官方论坛中列出了 Ubuntu 下的软件包,对于 Fedora 系统则可以使用如下命令安装:pkcon install gcc-c++ glibc-devel openssl-devel expat-devel mesa-libGL-devel qt4-devel然后分别解压之前的 makemkv-oss 和makemkv-bin 压缩包,分别在各自的目录上执行以下命令,注意先从 makemkv-oss 开始:make -f makefile.linuxsu -c 'make -f makefile.linux install'至此MakeMKV 安装完成,剩下的操作就相当简单了。 在应用程序列表中找到 MakeMKV 并运行。点击窗口中非常巨大的 “Open Blu-ray” 按钮开启蓝光影碟,大约十几秒之后即可看到蓝光影碟中的章节结构。点击工具栏上的 Stream 按钮,请求 MakeMKV 创建以当前蓝光碟为内容的媒体服务器,媒体服务器的 URL 和端口号可以在下方的日志窗口中找到。在本机的 VLC 或者同一局域网下的 VLC 中,选择“打开网络串流",按照 URL:端口/stream/titleN.ts 的格式填入,其中 N 代表章节数字号,电影正片的章节号一般是 0 或者 1,通常是章节结构中占据空间最大的那个。稍等后即可在 MakeMKV 窗口中看到客户端已连接的信息,同时显示光盘读取速度及播放缓存等信息。在 VLC 方面则和一般影片回放一样,亦可执行音轨切换和字幕切换等操作。使用华纳在朝内正版发行的哈利波特蓝光全集测试,所有影片均可正常播放,中文字幕亦可调出。此外还在 Xperia Z 上测试了 VLC for Android 远程回放,可以正常打开,但是受限于无线网络带宽,回放并不流畅。具体截图稍后奉上。
在Linux中输入命令man tcpdump给出的定义如下所示:
是不是感觉很懵?我们用通俗、形象、学术的表达方式来全方位描述tcpdump:
常用选项如下所示:
1、第一个抓包示例
-i : 指定用来抓包的网络接口,这个参数在服务器有多个网卡的时候非常有效
-nn : 不转换协议和端口号,当tcpdump遇到协议号或端口号,不需要将这些数字转换为对应的协议名称或端口名称,如22端口SSH端口,我们希望显示22,而非SSH
-X : 将协议头和包内容原原本本的显示出来,tcpdump会同时以16进制和ASCII的形式进行显示,在协议分析时非常好用。
'port 22' : 告诉tcpdump要有选择的显示所抓到的包,在该示例中,只显示源端口或目的端口是22的数据包,其他的数据包则不显示。
-c : 用来指定抓包的个数,示例设置的个数为1,则代表仅抓取一个包之后就退出不再抓包了。
2、-e 增加数据链路层的头部信息
通过两个命令的输出对比,可以看到增加-e选项后,输出的结果中增加MAC地址信息。而且在输出内容中会有 oui Unknown ,OUI即Organizationally unique identifier(组织唯一标识符),在任何一块网卡中烧录的6字节MAC地址中,前3个字节体现了OUI,其表明了网卡的制造组织,通常情况下,该标识符是唯一的。在本例中,由于没有识别出网卡的制造商,因此显示为Unknown。
3、-l 将输出变为行缓冲模式
-l的作用是将tcpdump的输出行为变为 行缓冲 方式,这样可以保证tcpdump遇到换行符,就立即将缓冲的内容输出到标准输出(stdout),方便利用管道或重定向方式进行后续处理,而不会造成延迟。
在Linux的标准I/O中提供了 全缓冲 、 行缓冲 、 无缓冲 三种缓冲方式。标准错误是不带缓冲的,而终端设备常为行缓冲,其他默认则为全缓冲。
在该例中,将tcpdump输出的内容通过管道提取第5列,可以用来查看详细的连接信息。而如果不加 -l 选项时,则只有当缓冲区全部占满时,tcpdump才会将缓冲区中的内容输出,这样就有可能导致输出不连续的,如果强行结束,则会影响下一行的完整性。
4、-t 输出不加时间戳
在增加选项 -t 选项后,时间23:48:03.193526就消失了。tcpdump默认情况下是按微秒来计时,因此最一个时间精确到了第6位。
5、 -v 显示详细信息
在增加 -v 选项后,会在输出的内容中增加 tos 、 ttl 、 id 、 offset 、 协议编号 、 总长度 等,如需要理解这些信息,就需要了解TCP/IP协议中的头的具体定义了。
6、-F 指定过滤表达式所在的文件
在第一个示例中,命令行增加了 'port 22' ,而这一项就叫 过滤条件 ,如果设置了过滤条件,则tcpdump只抓取满足过滤条件的数据包。如需要设置较为复杂的过滤条件或复用过滤条件时,这时可以将过滤条件保存为文件,然后通过-F加载该过滤文件。
7、 -w 将原始数据包信息保存到文件中
当我们查看保存的文件时,出现的是乱码。则代表无法直接查看,很有可能是二进制文件。那么怎么查看保存的文件了?请看下一个示例。
7、 -r 从文件中读取原始数据包
通过-w和-r选项即可实现抓包的录制回放功能。
相信大家,初始在使用Linux操作系统时,查找历史命令,第一时间会想到history命令:将显示出之前操作过的命令,其无法显示操作过的命令所输出的过程及结果。
但往往有时候,我们却想知道在这台服务器上操作了什么?执行的过程是什么样的?输出的结果又是怎么样的?那history命令就已经无法满足我们的需求了,那究竟该怎么办呢?
是时候,教大家一招了。那就是这个神奇的命令——script和scriptreplay
script命令:可以将 Linux 终端下的会话过程进行录制下来。
作用:在终端下的所有操作、执行过的命令以及输出过的结果都可以在本地进行录制。
script和scriptreplay在 Linux 发行版中默认都有安装的,在本篇文章中,script是可以直接在操作系统下执行的,而scriptreplay需要额外安装。
开始录像
执行如下命令,将在终端下执行任何操作都将会被进行记录;
查看当前目录是否有如下两个文件
test.timefile和test.txt两个文件名可自定义命名。
常用参数选项
执行如下命令,可以静默模式进行运行,且不会将以script和exit进行显示启动和退出;
执行命令exit或使用快捷键Ctrl+D即可退出结束录制;
录制某个目录下脚本执行过程的案例
先编写一个简单的名为xxx.sh的脚本文件,并授予相关权限。
使用参数选项:-c可直接执行命令,而非是交互式的 shell,即可查看该脚本所执行的时间点。
scriptreplay命令:可以将 Linux 终端下录制的结果进行回放。
常用参数选项
执行完上述命令scriptreplay test.timefile test.txt后,将对之前的操作进行回放;
同步使用
使用-f参数选项,部分版本没有该参数,同时也可以使用tail -f命令来进行操作;
如下图所示,需打开两个 xshell 终端,连接至同一台设备,做相关同步使用操作,左屏幕为:操作端,右屏幕为:演示端,
在左屏幕终端下执行命令script -f jacktian
在右屏幕终端下执行命令tail -f jacktian
随后,你只需在左屏幕终端下执行相关命令,右屏幕将进行显示出左屏幕的相关输出结果等;
开机自启动
除上述操作以外,还可以采用设置在登录时自动执行script命令,并添加至 shell 环境配置文件中。
递归创建目录/var/log/user_record
编辑文件/etc/profile添加如下自启动配置项