远程服务器上有一个包含 100k 个文件的大目录,我ls
在 putty 中输入了 command:。
它开始显示一个很长的文件列表,并且似乎永远不会结束。
如何在不关闭腻子程序的情况下停止它?
您可以使用less
ormore
命令控制 ls 输出,如下所示:
ls | more
ls | less
他们将以交互方式工作。或者您可以使用 head 或 tail 命令截断输出,例如:
ls | head
ls | tail
head 将显示从 head 开始的默认 10 行,tail 将显示从 tail 开始的默认 10 行。
如果你结束了SSH
,你可以使用转义序列。例如要发送中断,请按:
enter
,~
和B
“回车”当然没有输入,只需按回车键(我想“重置”当前命令缓冲区)
其他有趣的
终止超时会话
enter
,~
和.
发送转义字符
enter
,~
和~
您可以列出这些命令
enter
,~
和?
在我的系统上,上面打印:
# ~?
Supported escape sequences:
~. - terminate connection (and any multiplexed sessions)
~B - send a BREAK to the remote system
~C - open a command line
~R - Request rekey (SSH protocol 2 only)
~^Z - suspend ssh
~# - list forwarded connections
~& - background ssh (when waiting for connections to terminate)
~? - this message
~~ - send the escape character by typing it twice
(Note that escapes are only recognized immediately after newline.)
您可以通过按 Ctrl + C 来停止输出(就像 linux shell 中的大多数程序一样)。
编辑:只需阅读 Ctrl + C 不起作用。我认为简单地使用 Alt + F2 打开一个新控制台也不适用于 Putty。然后只需关闭腻子窗口并打开一个新窗口。这样,您可以终止该过程。
要阅读输出,我建议使用 ls | 更少或将输出通过管道传输到文件,然后读取它( ls > filelist.txt )。
In Putty there is a menu that you can access to sending special commands like break
如果您正在使用其他东西,请尝试切换到 UTF-8,编辑 /etc/locale.gen 注释掉除包含您所在位置的 UTF-8 的行之外的所有内容,然后运行 locale-gen 以更新您的系统。