如何在命令执行期间获取溢出的终端文本?
某些命令在终端中具有非常大的输出文本。 有时,在命令执行期间,某些文本行会从终端中传出。 如何获得该文本?
更新:我的意思是Ubuntu(12.04)附带的终端。
键入命令时将其输入“less”,这允许您使用向上/向下箭头滚动,例如: ls -l|less
假设您正在讨论标准的bash终端,您可能正在使用它。
另外值得一提的是,您可以使用tee
将输出发送到文件和STDOUT:
$ ls -al 2>&1 | tee currDir.txt
这将列出当前目录中的文件,同时将它们写入currDir.txt
。 请注意,添加2>&1
也可以捕获发送到STDERR的任何内容。
即使管道解决方案( more
, less
和more
less
)更干净,您也可以让终端在其窗口中保留更多输出线(以便您可以向上滚动)。
在Ubuntu 12.04中,通常的终端是gnome-terminal
。 打开一个,然后进入首选项窗口( 编辑>首选项 )。 在“ 滚动”选项卡中,您将看到一个回滚值,默认情况下应设置为512行。 此值表示终端可用于向上滚动的行数。 您可以增加此值,或选中“ 无限制”框。
还要记住,您的终端保留的线路越多,执行此操作所需的内存就越多。
1)您可以使用more
或less
的管道
L10@Leo10:~$ command | more
L10@Leo10:~$ command | less
要不然
2)您可以使用>
将命令输出重定向到另一个文件
L10@Leo10:~$ command > output
执行上述操作后,您可以使用任何文本编辑器查看output
文件。
在“干净的情况下”(没有像诅咒和做的那样的术语操作)你也可以尝试Shift-PgUp做任何事情。 这将允许滚动到一些量,通常是一百行左右。 为了覆盖更多的基础,请使用其他人指出的方法。