如何在命令执行期间获取溢出的终端文本?

某些命令在终端中具有非常大的输出文本。 有时,在命令执行期间,某些文本行会从终端中传出。 如何获得该文本?

更新:我的意思是Ubuntu(12.04)附带的终端。

键入命令时将其输入“less”,这允许您使用向上/向下箭头滚动,例如: ls -l|less假设您正在讨论标准的bash终端,您可能正在使用它。

另外值得一提的是,您可以使用tee将输出发送到文件和STDOUT:

 $ ls -al 2>&1 | tee currDir.txt 

这将列出当前目录中的文件,同时将它们写入currDir.txt 。 请注意,添加2>&1也可以捕获发送到STDERR的任何内容。

即使管道解决方案( morelessmore less )更干净,您也可以让终端在其窗口中保留更多输出线(以便您可以向上滚动)。

在Ubuntu 12.04中,通常的终端是gnome-terminal 。 打开一个,然后进入首选项窗口( 编辑>首选项 )。 在“ 滚动”选项卡中,您将看到一个回滚值,默认情况下应设置为512行。 此值表示终端可用于向上滚动的行数。 您可以增加此值,或选中“ 无限制”框。

还要记住,您的终​​端保留的线路越多,执行此操作所需的内存就越多。

1)您可以使用moreless的管道

L10@Leo10:~$ command | more
L10@Leo10:~$ command | less

要不然

2)您可以使用>将命令输出重定向到另一个文件

L10@Leo10:~$ command > output

执行上述操作后,您可以使用任何文本编辑器查看output文件。

在“干净的情况下”(没有像诅咒和做的那样的术语操作)你也可以尝试Shift-PgUp做任何事情。 这将允许滚动到一些量,通常是一百行左右。 为了覆盖更多的基础,请使用其他人指出的方法。