Linux 查看日志最后内容的 6 种常用方法(tail/less/journalctl 详解)

平时在 Linux 上排查问题、看服务状态,最常用的就是翻日志。很多人只会一两个命令,遇到大文件、滚动日志、系统日志就手忙脚乱。今天就用很实在的方式,把我日常最常用的 6 种查看日志尾部内容的方法一次性讲清楚,每条都带上可直接复制的命令示例,服务器、Ubuntu 26.04 都通用,学会这些基本能应付 99% 的日志场景。

第一个必须是 tail,专门用来查看文件末尾,也是最常用的命令。默认直接显示最后 10 行,比如看 Nginx 访问日志:

tail /var/log/nginx/access.log

想看最后 50 行,加 -n 参数:

tail -n 50 /var/log/nginx/error.log

排查问题时最爽的是实时刷新跟着日志走,用 -f

tail -f /var/log/syslog

一边程序输出,一边你实时看,定位问题特别快。

第二个是 head,虽然主要看开头,但经常和 tail 搭配用。比如先确认日志格式对不对:

head /var/log/dpkg.log

简单快速,用来判断文件是不是正常日志、有没有被污染。

第三个是 less,比 cat 好用一万倍,大日志文件用 cat 直接卡死,less 是分页加载,流畅得很。打开文件直接跳到最后面看最新内容:

less /var/log/auth.log

打开后按 G 直接跳到文件末尾,按 PageUp/PageDown 上下翻,按 /关键词 可以搜索,按 q 退出。真正排查问题时比 tail 好用得多。

第四个是 tail + grep 组合过滤,日志太多只想看关键信息,比如错误、关键词,这是最实用的组合。比如只看最近的错误日志:

tail -n 100 /var/log/nginx/error.log | grep error

实时监控并只显示包含关键字的行:

tail -f /var/log/syslog | grep fail

不用在一堆无关信息里瞎找。

第五个是 journalctl,现在 systemd 系统都用它看系统和服务日志,想看最新日志直接倒序:

journalctl -r

实时滚动看最新系统日志:

journalctl -f

只看某个服务,比如查看 Docker 最近日志:

journalctl -u docker -n 50

精准定位服务问题,比翻文本日志舒服太多。

第六个是 multitail,适合同时盯多个日志文件,比如同时看应用日志 + Nginx 日志。系统一般不自带,装一下就行:

sudo apt install multitail

同时监控两个文件:

multitail /var/log/nginx/access.log /var/log/nginx/error.log

分屏展示、实时滚动,哪个日志出问题一眼就能看到。

其实这 6 种方法已经覆盖绝大多数场景:快速看尾部用 tail,仔细翻阅用 less,过滤关键字用 grep 组合,系统服务日志用 journalctl,多日志同时盯用 multitail。不用背一堆复杂参数,把这些常用命令练熟,在 Linux 上看日志、查问题基本就没什么压力了。

本文首发于 58Linux技术博客,专注Ubuntu桌面使用、Linux服务器运维与网站搭建实战。

发表评论

粤ICP备10052831号 | © 2026 58Linux 技术笔记. All Rights Reserved. | 联系我们 | 关于本站
本站内容开放共享,仅供学习交流 | 专注 Ubuntu & Linux 实战教程
Built with GeneratePress