是否有任何 Windows SSH 客户端允许您搜索日志/输出?

是否有任何 Windows SSH 客户端允许您搜索日志/输出?

当我通过 SSH 连接到服务器时,我经常需要搜索日志。我知道有类似的命令grep可以帮助我。但我需要找到某些术语并查看这些行周围的日志,而仅使用命令来完成这项工作非常麻烦。

是否有任何 SSH 客户端允许我只需按 ctrl+f 即可搜索日志以查找特定命令?

谢谢

答案1

您正在使用远程会话并在远程系统上执行所有命令。

在基于 *nix 的系统上,您可以使用它less来浏览和执行强大的搜索命令(正则表达式)。在基于 Windows 的系统上,没有像 less 一样强大的集成命令。

答案2

这几乎是一个购物问题,但对于几乎所有 Windows SSH 客户端来说,都有一个技术答案。将其配置为记录到文件,为每个会话预设一个新文件,文件名中包含主机名和时间戳,并在另一个窗口中保留该日志文件的视图,从 GUI 日志查看器中预设,该查看器将跟踪并可选地突出显示或固定您的搜索词

答案3

一种完全不同的方法:如果您需要定期执行此操作,请考虑设置专用的日志主机。

设置 ELK 堆栈并配置您的服务器以登录到它,这将允许您轻松过滤跨多个服务和服务器的日志条目。

答案4

这很可能在服务器本身上得到更好的解决。

“传统”选项是使用分页程序,分页程序是一种仅显示文件内容并允许您轻松浏览文件的程序。less是大多数类 UNIX 系统上的事实标准选项,尽管还有许多其他选项。几乎所有像样的分页程序(读作“除了和more它的直接克隆之外的几乎任何东西”)都允许您以某种方式在文件中搜索(在 less 中,点击/然后输入任何 POSIX 基本正则表达式)并跳转到特定行,许多分页程序支持更复杂的导航(例如跳转到匹配的括号或大括号)。普通的分页程序要么将文本显示在标准输入上,要么显示您作为选项传递的任何文件。

如今,一种更典型的方法是用您通常使用的任何文本编辑器打开文件,然后以此方式进行搜索。一些文本编辑器甚至有针对此用途的特定只读模式(例如,Vim 的view别名)。

比这两种方法更好的方法是使用类似GNU 屏幕或者tmux在服务器本身上获取可配置的回滚缓冲区,可以直接在服务器上搜索,也可以根据需要将其保存到文件中。这还可以为您提供许多其他有用的功能,例如能够恢复中断的 SSH 会话(只需重新连接到现有会话)以及在一个会话上同时打开多个 shell 或程序。

相关内容