如何记录Linux终端会话
Contents
1. 概述
在这个快速教程中,我们将探索 Linux**脚本 命令如何帮助我们创建打字稿,从而记录所有终端活动。**
2. 语法
让我们先来看看基本语法:
script [OPTIONS] FILENAME
script命令用于记录用户执行的活动,例如用户键入的命令以及这些命令的输出。
如果我们不指定FILENAME,它会自动将“typescript”作为默认文件名。此外,我们只需要输入脚本命令即可开始录制会话并在录制结束时退出。
3. 记录当前终端活动
为了说明script命令,让我们尝试不带任何参数运行它:
$ script firstRecording
Script started, file is firstRecording
$ date
Wed Aug 5 12:06:50 JST 2020
$ exit
exit
Script done, file is firstRecording
首先,script命令创建一个名为*firstRecording 的文件。*然后,该文件将存储我们在屏幕上键入的所有命令。
接下来,我们在终端上键入date 命令。在后台,命令及其输出记录在 typescript 文件中。
最后,我们在终端上输入exit命令退出录制会话。
4. 查看录制的内容
我们可以通过打开由脚本命令创建的文件来查看录制文件的内容。在这种情况下,我们将使用**cat 命令后跟文件名来打开文件**。我们可以看到该脚本还包含我们录制的开始和结束时间:
$ cat firstRecording
Script started on Wed 05 Aug 2020 12:06:47 PM JST
$ date
Wed Aug 5 12:06:50 JST 2020
$ exit
exit
Script done on Wed 05 Aug 2020 12:06:53 PM JST
5. 回放录制的文件
此外,script命令还允许我们使用-timing*标志*记录会话的内容:
$ script --timing=file_time firstrecording
Script started, file is firstrecording
$ date
Mon Aug 10 01:10:38 JST 2020
$ cal
August 2020
Su Mo Tu We Th Fr Sa
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
$ exit
exit
Script done, file is firstrecording
如下所示,我们可以使用cat 命令查看创建的文件。另外,请记住,还会创建另一个名为*file_time 的文件。*该文件包含重放命令的时间信息。
$ cat firstrecording
Script started on Mon 10 Aug 2020 01:10:27 AM JST
$ date
Mon Aug 10 01:10:38 JST 2020
$ cal
August 2020
Su Mo Tu We Th Fr Sa
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
$ exit
exit
Script done on Mon 10 Aug 2020 01:10:56 AM JST
最后,我们可以使用screenreplay命令在控制台上重放(查看)用户活动:
$ scriptreplay file_time firstrecording