对于SQL编辑器,有一个用于记录所有输出和活动的假脱机命令。我想要linux终端的相同功能。在终端上键入的所有命令输入和输出应记录到文件中,而提供的输出也应该在我正在使用的控制台的标准输出上。
答案 0 :(得分:2)
这是script
的作业(随bsdutils
提供)。
您可以通过以下方式启动script
启用的终端会话:
script /path/to/out_file
如果您没有提供任何文件名来保存终端内容,则所有输出都将保存在调用typescript
的目录中的script
文件中。
同时检查man script
。
答案 1 :(得分:0)
仅记录Linux终端中命令输出的最简单方法是使用重定向运算符,即'>'
假设我们想在文件中记录ls -alt
个命令输出。所以命令是:
ls -alt > output.txt
这将创建一个文件output.txt并将输出写入它,如果文件已存在则会覆盖该文件,(现有信息将消失)
如果您想将输出附加到现有文件,请使用'>>'相反:
ls -alt >> output.txt
这将创建或附加到文件,以防它已经存在。
要记录输出并在stdout
上打印,命令应为
ls -alt | tee output.txt
这会将您的输出转发到文件以及stdout
如果你想要botn stdout
和stderr
,那么你可以使用2>&1
命令重定向并组合它们,它们看起来像:
ls -alt 2>&1 | tee output.txt
此处2
是stderr
的文件描述符,1
是stdout
(stdin
fd是0),因此我们重定向并合并{{ 1}}与stderr
,因为只有stdout
可以通过管道传输。
更多信息可在here
中找到