有时候,当我通过 ssh 连接到计算机时,我会不小心输入“cat largefile.txt”,然后我的屏幕会在接下来的 10 分钟内开始显示大量文本。我总是在屏幕会话中工作,所以我当前的解决方案是注销然后重新登录,而且由于注销后速度可以提高 100 倍,因此它会在再次输入密码的短暂时间内完成。
有没有更好的方法?要么让我处于屏幕会话中?要么在 SSH 中执行此操作?
无效的方法:
- 脱离屏幕会话(直到文件输出完成才响应)
- 尝试命令移动到屏幕会话中的另一个窗口(也没有响应)
- 输入 ctrl+C 来终止 cat 命令(同样没有响应,可能是因为命令已经完成并且缓冲区必须赶上)
答案1
显然,最简单的解决方案就是不使用cat
。您的 shell 不是文本查看器。请使用less
为此设计的 。
答案2
如果你正在使用 Bash,请尝试Ctrl-z kill %
Enter
你使用的是什么 shell?
(Ctrl-c顺便说一下,对我有用。)
答案3
如果您screen
通过 启动一个新窗口^A ^C
,我认为您将能够“避开”即将到来的缓冲区,而无需注销并重新登录。瓶颈似乎是将缓冲区字符传输到本地终端;切换到另一个窗口应该可以减轻这种努力的需要。这并非灵丹妙药,但它可以为您节省一些时间。