尽管输出了大量数据,我怎样才能立即停止 cat 的输出?

尽管输出了大量数据,我怎样才能立即停止 cat 的输出?

当我意识到命令错误时,我正在寻找某种方法来停止输出到 STDOUT。例如,如果我不小心 cat 了一个非常大的文件。通常,如果您按住ctrl+c,但这需要很长时间。

有没有办法可以更立即停止输出?

答案1

您可以运行 ctl-z 将其置于后台,然后终止 PID。

$ ctl z (将其置于背景中)

$ kill -9 {pid} ‘刚刚进入后台的进程’

答案2

通常数据已经发送到显示器,而“长时间”是终端尝试显示数据的时间。对任务执行任何操作都无济于事(即Ctrl+ZCtrl+ C),您需要更快的终端或某种东西来缓冲数据。

我通过管道传输大量输出less,具体tail取决于我是否要查看文件的顶部或底部,因为这两者都允许我轻松控制发送到终端的数据量,并且如果这不是我想要的,则关闭程序。

答案3

您应该能够将其传输到moreless

cat large_file.txt | less

这时,你可以翻阅答案,然后拿出一个:q

grep如果您正在寻找特定的错误/问题,您还可以使用它来帮助对您的答案进行排序。

http://www.westwind.com/reference/os-x/commandline/pipes.html

答案4

在按下+或+后切换到其他终端(在文本模式下通过+ CTRL,或通过+ ,打开新窗口)将导致原始终端跳过尝试执行所有换行,并在更短的时间内直接跳转到输出的最后一行F1F6screenCTRLACCTRLZCTRLC

相关内容