linux查询日志的方法

那天我在公司服务器上。
系统日志文件突然变得非常大,好像突然充满了错误信息。
我坐在办公桌前看着电脑屏幕,心想我必须快速做点什么,否则机器就会停止工作。

我打开终端,直接使用cat命令查看日志文件的全部内容。
结果,大门突然结冰了。
我赶紧按下了Ctrl+C。
这是行不通的。
文件太大,猫没有选择。

然后我想起我之前在处理类似文件时使用过 less 命令。
我尝试了一下,输入 lessfilename.log ,终端立即变得顺利。
我用空格键向下滚动页面,很快就找到了最新的错误消息。
原来是部分服务的配置有问题。

然后我用grep命令查找错误的关键字,很快就找到了具体问题。
然后我使用带有 -f 选项的 tail 命令来监视实时日志更新,直到问题得到解决。

当这个进程处理大型日志文件时,选择合适的命令非常重要;这让我意识到,否则我会浪费很多时间。
然而,这并不困难。
各种命令只要熟悉使用就可以很快发现问题。

等一下,我突然想到可以尝试一下journalctl命令,以防以后遇到类似的问题。
最后,我们公司的大部分服务器都运行在systemd上。
但是,应该首先研究该命令的用法,看看它是否比其他命令更有效。

linux命令 more查看文件时怎么直接翻到最后一页

more 命令不能直接转到最后一页。

这就是洞。
使用 tail -2 00 data.txt。

Linux下more命令高级用法

更明确地说,more命令是Linux中查看长文件的分页工具。
虽然很简单,但是如果使用得当的话,可以省去很多麻烦。

扩展一下,主要有三点:首先用+数字跳转到一行,比如超过+1 00 /var/log/dmesg就直接看到第1 00行;然后使用 -N 数字来控制一页的行数,超过 -n 1 0 /var/log/dmesg 一次只滚动 1 0 行,这在我去年帮助团队调试日志时很神奇;最后添加 -d 显示提示符,更多 -d /var/log/dmesg 当你误读命令时按 h 可以获得实时帮助,这比手动翻阅更快。
一开始我以为-c是取消滚动,结果发现是双屏,差点把我搞糊涂了。

老实说,这有点令人困惑。
许多人认为 -c 是连续滚动的开关。
事实上,它先将屏幕清空,然后再显示。
建议下次使用多的时候试试-N搭配-d,效率会翻倍。

另一个重要的细节是,more 并不是 less 的增强版本。
它不能直接跳到最后。
只能从头部或者一定数量的行开始。
做运维的人应该早就明白这一点了。
等等,还有一件事。
more显示百分比时,是按字符计算,而不是按行计算。
当查看大文件时,这一点尤其明显,例如 5 000 行,但每行太长,百分比会让您感到困惑。