最直接可靠的方式是用 tail -n 100 查看日志文件最后100行,如 sudo tail -n 100 /var/log/messages;需加 sudo 解决权限问题,加 -f 可实时跟踪新增日志,退出用 ctrl+c。

tail -n 100 是最直接、最可靠的方式,不需要额外工具或权限提升(除非目标文件本身不可读)。
直接用 tail -n 100 查看指定日志文件
CentOS 7 的系统日志(如 /var/log/messages、/var/log/secure)是文本文件,tail 原生支持按行截取尾部内容。
-
tail -n 100 /var/log/messages:输出该文件最后 100 行 -
tail -n 100 /var/log/secure:查看认证相关日志的最近 100 条记录 - 注意:
-n 100和-100效果相同,但前者更明确、可读性更强,推荐统一用-n形式 - 如果文件行数不足 100 行,
tail会输出全部内容,不会报错
遇到 Permission denied 就得加 sudo
多数系统日志由 root 所有,普通用户直接执行 tail 会失败,错误信息是:Permission denied。
CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离
- 必须用
sudo tail -n 100 /var/log/messages - 不能只对
tail加 sudo 而漏掉路径——比如sudo tail -n 100 /var/log/messages✅,而sudo tail -n 100然后输路径 ❌(shell 会先尝试打开空路径) -
sudo必须放在命令最前面,否则权限不生效
想实时追加新日志?用 -f 和 -n 组合
单纯看“最后 100 行”是静态快照;加上 -f 才能持续跟踪新增内容,这在排查运行中问题时很关键。
-
sudo tail -n 100 -f /var/log/messages:先输出当前最后 100 行,再持续监听追加 -
-f必须放在-n 100后面(顺序不影响功能,但习惯上后置) - 退出用
Ctrl + C,不是q或其他键 - 别用
tail -f 100 filename—— 这种写法在旧版 GNU coreutils 中已被弃用,行为不一致,容易漏行
别用 sed 或 head 替代 tail -n
虽然技术上可行,但没必要绕路,还容易出错。
-
sed -n '$-99,$p'写法不可靠:$ 不代表“最后一行号”,且$-99不是标准语法,不同 sed 版本表现不同 -
cat filename | tail -n 100多余:cat 在这里没实际作用,纯属增加管道开销 -
head -n -100 filename | tail -n +1是反向逻辑,算的是“去掉前 N 行”,不是“取最后 N 行”,极易搞混
sudo 就看不到,没 -f 就只能看快照。其他所有变体,要么多此一举,要么隐含兼容性风险。










