有些命令在终端中输出的文本非常大。有时在命令执行过程中,有些文本行会超出终端。如何获取这些文本?
更新: 我指的是 Ubuntu(12.04) 自带的终端。
答案1
当在“less”中输入命令时,您可以使用向上/向下箭头滚动,例如:ls -l|less
假设您正在谈论标准 bash 终端,您可能正在谈论它。
答案2
还值得一提的是,您可以使用tee
将输出发送到文件和 STDOUT:
$ ls -al 2>&1 | tee currDir.txt
这将列出当前目录中的文件,同时将它们写入currDir.txt
。请注意,添加2>&1
还将允许它捕获发送到 STDERR 的任何内容。
答案3
尽管管道解决方案(使用more
,less
和tee
)会更简洁,但您也可以让终端在其窗口中保留更多行输出(以便您可以向上滚动到它)。
在 Ubuntu 12.04 中,常用的终端是gnome-terminal
。打开一个终端,然后进入首选项窗口 (编辑 > 首选项)。 在里面滚动选项卡上,你会看到回滚值,默认情况下应设置为 512 行。此值表示终端将保留可供您向上滚动的行数。您可以增加此值,或检查无限盒子。
还要记住,终端保存的行越多,所需的内存就越大。
答案4
在“干净的情况下”(没有像 curses & 那样的术语操作),您还可以尝试 Shift-PgUp 是否有任何作用。这将允许滚动到一定数量,通常是一百行左右。要覆盖更多范围,请使用其他人指出的方法。