经常在服务器上查看日志进行定位,尝试过很多文本查看命令,最终大浪淘沙留下了less,功能十分强大,并且强烈推荐。

storm查看日志文件拒绝连接 查看日志less命令_搜索


 

1.查看巨大文本(ORACLE监听日志)

less -n listener.log

        第一次了解到 less命令是因为项目测试环境的ORACLE账户每天早上都会被锁死,当时正处于数据库密码更新时期,有一些废弃的平台项目可能是没有即使修改密码,晚上后台定时任务经常循环用错误密码尝试连接,导致账户被锁。
        于是打算打开ORACLE的监听日志查看IP端口之类的详细信息去通知相关平台,由于日志太久没人清理,当时已经到了3G多,使用view/vim命令打开直接卡死,于是用ftp传到windows上准备用文本编辑器打开,结果依然是文件过大打不开。
        最后找到了less命令。less 在查看之前不会加载整个文件,查看oracle监听日志,可以指定不要显示行号,快速打开文件进行定位


2.代替tail -f 实时查看日志

less DEBUG.log

        less命令打开日志文件后,可以通过 输入F命令直接进行实时增量的日志更新,效果跟tail -f几乎没差别,除了刷新的速度稍微慢了些,但是用起来更加方便,测试环境进行测试时,发送完指定接口直接使用 ctrl + c 退出实时查看。


3.更灵活的功能

less -N -m DEBUG.log

         -N参数是显示行数,-m参数是显示百分比。

         less可以随意翻动,pageUp pageDown上下翻页,空格向下翻页,上下键也可以逐行滚动,b是向前移动 10b就是向前移动10行 , 同理10d就是向后移动10行。
        查看日志一般会最后一行开始,输入G跳转到最后一行,可以通过 ? 后输入关键进行从后向前的搜索(也可以 /加关键词 从前向后搜索),n 进行查看上一个关键词位置 ,N查看下一个关键词位置。
        当查看到指定行数的日志后,需要查看上下文内容,这时候可以使用m + 任何一个字母进行一个mark,比如ma,即在这行打一个a标记。当查看完上下问内容后,再使用 ' + a,表示移动到标记处,当然也可以使用ma ,mb ,mc打多个标记 ,通过 'a 或者 'b 跳跃到任意位置。
        查看完日志后不是ctrl + c退出 , 而是输入q。