当一个命令吞吐太多的输出时,你怎么做?

我试图解决一个共同的烦恼:当SSH进入远程服务器时,我经常做的事情会产生比我所期望的更多的输出。 例如,用一个模式来查询一个大的日志文件,结果太笼统了。 当我坐在那里的时候,碰到了垃圾,希望我记得pipe到less。 到目前为止,我最好的想法是尝试configuration我的shell总是页面输出,我问了另一个问题 。 除此之外,我只有不甚理想的解决scheme:

  • 耐心等待输出完成
  • 训练自己总是努力减less
  • 获得更大的pipe道和更快的盒子,使输出更快

你是做什么?

尝试使用屏幕。 http://www.gnu.org/software/screen

您可以切换到另一个shell,并在输出完成时继续处理其他内容,并具有额外的优势,即如果您没有看到输出,则不会将输出发送到远程链接。

屏幕上还支持缓冲区回滚,因此您可以在完成时对输出进行分页或search。

如果你不使用屏幕,^ C没有响应,你真的需要终止工作,你可能想尝试“〜”。 (默认的ssh中断)来终止ssh会话。 在input“〜”之前,您可能需要点击input。

除了你提到的3个build议外,你试试^ Z,然后杀死这个进程并修复它。

工作更聪明..使用屏幕。 pipe到less。 仔细检查你正在运行的命令..注意细节。

在本地testing命令,如果你必须munge正则expression式foo。

你提到再次login是一个问题,使用ssh密钥和密钥pipe理代理。