script命令
简介有时候在操作Linux时会发现整个过程操作了很多命令,但是自己有记不住,或者与其他同事协同工作时不知道对方到底处理到了那里,这里就介绍一个命令:script。
Linux终端记录器
有时候在操作Linux时会发现整个过程操作了很多命令,但是自己有记不住,或者与其他同事协同工作时不知道对方到底处理到了那里,这里就介绍一个命令:script。
script 是一个神奇命令,script 能够将终端的会话过程录制下来,然后使用 scriptreplay 就可以将其录制的结果播放给他人观看。script 的好处就在于你在终端中的所有操作、敲过的命令和打印出的结果它都可以原原本本地进行录制。可以应用于教学、演示、审计。
使用场景
调试会产生大量 log 的应用程序,并且需要保存到本地进行进一步分析;
与同事协同工作,自己将工作完成了一半,可以将操作过程记录下来,发给同事,同事可以根据记录接着工作;
让人远程协助你,担心对方使坏,同时也可以留下案底,最好将他的操作记录下来
参数
- -t:指明输出录制的时间数据
- -f:如果需要在输出到日志文件的同时,也可以查看日志文件的内容,可以使用 -f 参数。PS:可以用于教学,两个命令行接-f可以实时演示
- -a:输出录制的文件,在现有内容上追加新的内容
- -q:可以使script命令以静默模式运行
script使用
基本使用
[root@localhost ~]# script #开启记录
Script started, file is typescript
#一系列操作
[root@localhost ~]# cd /
[root@localhost /]# ls
appendonly.aof apps bin boot data dev dump.rdb etc home lib lib64 lost+found media mnt opt proc root run sbin srv swapfile sys tmp usr var
#退出,生成文件
[root@localhost /]# exit
exit
Script done, file is typescript
#查看文件,里面记录了我们上面的所有操作
[root@localhost ~]# cat typescript
Script started on Wed 29 Apr 2020 10:26:21 AM CST
[root@localhost ~]# cd /
[root@localhost /]# ls
appendonly.aof apps bin boot data dev dump.rdb etc home lib lib64 lost+found media mnt opt proc root run sbin srv swapfile sys tmp usr var
[root@localhost /]# exit
exit
Script done on Wed 29 Apr 2020 10:26:51 AM CST
指定文件存放位置
在script命令后指定一个文件地址,这样生成的日志文件就在里面
[root@localhost ~]# script ~/script-log
Script started, file is /root/script-log
[root@localhost ~]# cd /
[root@localhost /]# ls
appendonly.aof apps bin boot data dev dump.rdb etc home lib lib64 lost+found media mnt opt proc root run sbin srv swapfile sys tmp usr var
[root@localhost /]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 486M 0 486M 0% /dev
tmpfs 496M 0 496M 0% /dev/shm
tmpfs 496M 468K 496M 1% /run
tmpfs 496M 0 496M 0% /sys/fs/cgroup
/dev/vda1 40G 19G 19G 50% /
tmpfs 100M 0 100M 0% /run/user/0
[root@localhost /]# exit
exit
Script done, file is /root/script-log
[root@localhost ~]# cat /root/script-log
Script started on Wed 29 Apr 2020 10:31:48 AM CST
[root@localhost ~]# cd /
[root@localhost /]# ls
appendonly.aof apps bin boot data dev dump.rdb etc home lib lib64 lost+found media mnt opt proc root run sbin srv swapfile sys tmp usr var
[root@localhost /]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 486M 0 486M 0% /dev
tmpfs 496M 0 496M 0% /dev/shm
tmpfs 496M 468K 496M 1% /run
tmpfs 496M 0 496M 0% /sys/fs/cgroup
/dev/vda1 40G 19G 19G 50% /
tmpfs 100M 0 100M 0% /run/user/0
[root@localhost /]# exit
exit
Script done on Wed 29 Apr 2020 10:32:06 AM CST
记录所有操作过程
只需要在~/.bash_profile文件最后一行添加如下命令:
[root@localhost ~]# vim ~/.bash_profile
/usr/bin/script -qa /root/script_logs
#在这里,-q 选项代表静默记录,对方将不知道你在后台记录
[root@localhost ~]# source ~/.bash_profile
这样就可以记录所有的操作了。但是这里还是避免在服务器端直接使用cat命令去查看整个命令的数据,这样会造成整个记录文件很大。
为了将一个大的数据进行压缩,可以采用Gzip的方式进行处理,那么在Go语言中如何通过Gzip方式压缩数据呢,在使用过程中大家也会跟我一样会踩坑。本文主要记录下问题和最终的实现方式。
Mysql in 多个字段的用法
《康熙王朝》是一部非常优秀的电视连续剧,陈道明演的康熙是我觉得最有帝王气魄,让人意犹未尽,本文主要记录一小段非常经典的对白。
Python调用WPS把文档转换PDF,并把PDF转图片,首先需要安装WPS,然后利用pypiwin32把文档转化成PDF,再利用fitz、PyMuPD把PDF转化成图片
Centos中用Chrome将网页导出为PDF,chrome --headless --print-to-pdf https://developer.chrome.com/
快速生成表格
Electron页面跳转、浏览器打开链接和打开新窗口
Docker编译镜像出现:fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.12/main: temporary error (try again later)
WARNING: Ignoring APKINDEX.2c4ac24e.tar.gz: No such file or directory问题
在Mac电脑中,如何对Git的用户名和密码进行修改呢?起初不懂Mac,所以整了很久,本文将记录如何对这个进行操作,以便后期使用。
在使用Git的过程中,不想每次都输入用户名和密码去拉取代码,所以就需要保存这些信息,那么既然有保存了,就必须有清除功能。