当我使用putty.exe
SSH 连接 Linux 服务器时,我通常使用宽度约为 160 列的控制台(可在 Putty 设置中配置,窗户标签)。
但即使这样,当你做类似的事情时cat /var/log/apache2/access.log
,每行都会被分成两行,这使得阅读起来很困难。当然cat ... | cut -c 1-160
可能会有帮助,但其余行不会显示。
问题:在 Windows 上,如何通过 SSH 连接 Linux 服务器,虚拟控制台宽度为 2000 个字符,并带有水平滚动条?
TL;DR 而不是这样:
我想要这个,带有一个水平滚动条和一个非常大的控制台宽度:
编辑:我希望能够在已写入的文件、当前正在更新的文件(例如 Apache 日志)上水平滚动,还可以实时输出,例如 Python 脚本像这样:
import time
for i in range(10):
print(str(i)*200)
time.sleep(1)
如何在终端中看到没有换行符的此脚本的输出,但仍能看到实时写入的输出,并且没有:
000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000
111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111
...
...
但反而:
0000000000000000000000000000000000000...
1111111111111111111111111111111111111...
具有水平滚动的能力吗?
在这种情况下,这样做python script.py |less -S
不起作用:它不会实时地一秒一秒地显示。这样做python script.py |less -S +F
也不起作用,因为水平滚动 -S 不能与“tail -f 模式”同时使用。
答案1
用于读取文件。less -S
答案2
除了已接受的答案之外,还为未来的读者/未来参考:
如果您想按照问题中描述的方式可视化不断更新的日志,您可以执行以下操作:
less +F -S access.log
然后它将处于“tail -f 模式”,显示等待数据...(中断中止)”。要退出此模式,您可以执行CTRL+C。
另一种方法是:
less +G -S access.log
它会自动将光标定位在末尾,但是不是实时自动更新显示(在添加新数据的情况下)。如果您想进入此“tail -f 模式”,这样做SHIFT+F会很有帮助。
重要提示:在自动更新“tail -f 模式”下,您无法使用箭头键水平滚动,您必须使用 退出此模式CTRL+C,然后水平移动,然后重做SHIFT+F以重新进入“tail -f 模式”。