我经常执行任务,有时会忘记记录我的工作。
例如,写下不同一次性工具的输出。
有没有办法通过自动化来实现这一目标.bashrc
?
因此我打开一个新的 shell,它会自动创建一个新的日志文件(如day-month-year-#
)并将所有内容转储到其中。此外,如果我可以在窗口中实际看到输出,那就太好了。
另外:很多输出都是彩色的,可以保留吗?
PS:磁盘空间不是问题;)
答案1
我认为该实用程序应该能满足您的需求:它捕获文件的终端 I/O。默认情况下,它是大多数 Linux 和 Unix 的一部分,以下是其页面script
的开头:man
NAME
script - make typescript of terminal session
SYNOPSIS
script [options] [file]
DESCRIPTION
script makes a typescript of everything displayed on your ter‐
minal. It is useful for students who need a hardcopy record
of an interactive session as proof of an assignment, as the
typescript file can be printed out later with lpr(1).
If the argument file is given, script saves the dialogue in
this file. If no filename is given, the dialogue is saved in
the file typescript.
因此特别要注意的是,当您退出会话时,script
您将找到一个名为的文件,typescript
其中包含您的会话记录。例如,
$ script
Script started, file is typescript
$ echo blah
blah
$ exit
exit
Script done, file is typescript
您现在已退出script
会话并可以查看结果,
$ cat typescript
Script started on 2021-03-09 20:24:40+0000
$ echo blah
blah
$ exit
exit
Script done on 2021-03-09 20:24:47+0000
$
答案2
如果.bash_history
不是你想要的,你可以使用asciinema
公用事业,一种用于记录终端会话的免费开源解决方案。
您可以将其集成到每次启动会话时启动并记录所有输入和输出,然后将其保存到文件中。