如何记录你在终端中执行的所有操作

系统 Linux
script 命令会在终端中创建你所做的所有事件的记录。无论你是安装程序,创建目录/文件还是删除文件夹,一切都会被记录下来,包括命令和相应的输出。这个命令对那些想要一份交互式会话拷贝作为作业证明的人有用。无论是学生还是导师,你都可以将所有在终端中执行的操作和所有输出复制一份。

[[234951]]

几天前,我们发布了一个解释如何保存终端中的命令并按需使用的指南。对于那些不想记忆冗长的 Linux 命令的人来说,这非常有用。今天,在本指南中,我们将看到如何使用 script 命令记录你在终端中执行的所有操作。你可能已经在终端中运行了一个命令,或创建了一个目录,或者安装了一个程序。script 命令会保存你在终端中执行的任何操作。如果你想知道你几小时或几天前做了什么,那么你可以查看它们。我知道我知道,我们可以使用上/下箭头或 history 命令查看以前运行的命令。但是,你无法查看这些命令的输出。而 script 命令记录并显示完整的终端会话活动。

script 命令会在终端中创建你所做的所有事件的记录。无论你是安装程序,创建目录/文件还是删除文件夹,一切都会被记录下来,包括命令和相应的输出。这个命令对那些想要一份交互式会话拷贝作为作业证明的人有用。无论是学生还是导师,你都可以将所有在终端中执行的操作和所有输出复制一份。

 

在 Linux 中使用 script 命令记录终端中的所有内容

script 命令预先安装在大多数现代 Linux 操作系统上。所以,我们不用担心安装。

让我们继续看看如何实时使用它。

运行以下命令启动终端会话记录。

  1. $ script -a my_terminal_activities

其中,-a 标志用于将输出追加到文件(记录)中,并保留以前的内容。上述命令会记录你在终端中执行的所有操作,并将输出追加到名为 my_terminal_activities 的文件中,并将其保存在当前工作目录中。

示例输出:

  1. Script started, file is my_terminal_activities

现在,在终端中运行一些随机的 Linux 命令。

  1. $ mkdir ostechnix
  2. $ cd ostechnix/
  3. $ touch hello_world.txt
  4. $ cd ..
  5. $ uname -r

运行所有命令后,使用以下命令结束 script 命令的会话:

  1. $ exit

示例输出:

  1. exit
  2. Script done, file is my_terminal_activities

如你所见,终端活动已存储在名为 my_terminal_activities 的文件中,并将其保存在当前工作目录中。

要查看你的终端活动,只需在任何编辑器中打开此文件,或者使用 cat 命令直接显示它。

  1. $ cat my_terminal_activities

示例输出:

  1. Script started on Thu 09 Mar 2017 03:33:44 PM IST
  2. [sk@sk]: ~>$ mkdir ostechnix
  3. [sk@sk]: ~>$ cd ostechnix/
  4. [sk@sk]: ~/ostechnix>$ touch hello_world.txt
  5. [sk@sk]: ~/ostechnix>$ cd ..
  6. [sk@sk]: ~>$ uname -r
  7. 4.9.11-1-ARCH
  8. [sk@sk]: ~>$ exit
  9. exit
  10.  
  11. Script done on Thu 09 Mar 2017 03:37:49 PM IST

正如你在上面的输出中看到的,script 命令记录了我所有的终端活动,包括 script 命令的开始和结束时间。真棒,不是吗?使用 script 命令的原因不仅仅是记录命令,还有命令的输出。简单地说,脚本命令将记录你在终端上执行的所有操作。

 

结论

就像我说的那样,脚本命令对于想要保留其终端活动记录的学生,教师和 Linux 用户非常有用。尽管有很多 CLI 和 GUI 可用来执行此操作,但 script 命令是记录终端会话活动的最简单快捷的方式。 

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2022-01-27 15:37:34

Asciinema终端会话记录器开源

2016-07-18 14:49:22

操作系统Linux终端操作

2021-08-24 16:20:38

Linux终端

2019-09-10 15:20:26

Linux终端命令

2023-03-04 13:32:35

Linux创建目录

2020-02-12 12:28:29

python列表数据类型

2022-10-08 06:43:15

Linux系统终端

2019-10-08 14:02:18

Linux命令终端会话

2024-01-08 08:45:07

Spring容器Bean

2020-02-10 09:23:09

LinuxReddit命令

2009-03-01 22:09:08

LinuxTerminal命令行终端

2021-01-18 14:22:26

QQ浏览记录程序员

2014-07-04 09:47:24

SwiftSwift开发

2013-10-29 16:27:23

MySQLSQL语句

2022-04-10 23:42:33

MySQLSQL数据库

2019-11-29 20:00:40

Linuxdate命令

2010-09-08 16:50:11

JavaScriptDOM操作

2024-05-13 15:57:29

Windows 11

2022-06-28 09:10:28

Linuxtree命令

2023-11-03 08:08:00

MySQL子节点
点赞
收藏

51CTO技术栈公众号