是否可以将上一个命令的输出保存在文件中?

alt*_*are 5 bash terminal

很多时候,我处于以下情况:我在 bash 上启动一个命令(这需要很多时间来处理)并且我得到一个很长的输出,它不适合终端,甚至无法读取使用滚动。我必须阅读它的唯一方法是将输出重定向到一个文件。为此,我必须重新启动命令,这是我想避免的,因为我会花费太多时间。

我只是想在文件上打印在上一个命令中生成的输出。

有没有办法做到这一点?

阿尔。

PS:例如,我给

diff folder1 folder2 #the folders contain many files
Run Code Online (Sandbox Code Playgroud)

等待60秒,之后我决定打印输出

Mel*_*lan 5

如果您怀疑会发生这样的事情,即长输出,请通过执行命令启动您的会话

script
Run Code Online (Sandbox Code Playgroud)

这将记录您所有的屏幕输出以及您在终端中输入的内容(如果您不小心,警告空符、退格符和其他通常无法打印的字符会使文件更难阅读)。

执行exit完冗长的命令后,只需键入,它就会告诉您它将会话输出保存在一个名为typescript. 您也可以通过运行您的命令来更改此文件的名称

script my_output_file_name
Run Code Online (Sandbox Code Playgroud)

它是调试脚本等的好工具。

  • 这是一个有用的解决方案;然而,如果您没有在 _before_ 输入 `script`,是否还有另一种方法可以完成原始海报所要求的内容?谢谢! (2认同)

小智 5

我更喜欢作者 Karl Wilbur在这里给出的解决方案,因为它不需要像运行脚本这样的“预”步骤。

要旨:

  • 三击最后一行
  • 按 Shift + Home
  • Shift + 单击第一行//(或任何你想要的地方!)//

并且您已选择所有需要的输出。

另一种方法是使用“终端”菜单中的“编辑”->“全选”。但这只是关于整个输出选择。