在linux系统中,查看文件最后几行内容是非常常见的操作需求,比如排查服务日志时查看最新的错误记录,或者确认配置文件的末尾配置是否生效,都可以通过系统自带的命令快速实现。

基础命令:tail
linux系统中默认提供了tail命令,专门用于显示文件的末尾内容,它的基础用法非常简单,默认会显示文件最后10行内容。
基础语法
tail命令的基础语法格式如下:
# 显示文件最后10行,file_path为要查看的文件路径 tail file_path
常用参数说明
tail命令支持多个参数来调整输出内容,常用的参数如下:
| 参数 | 作用说明 |
|---|---|
| -n | 指定显示文件的最后n行,比如-n 5表示显示最后5行 |
| -f | 实时追踪文件末尾内容,文件有新内容写入时会自动刷新显示,常用于查看实时日志 |
| -c | 指定显示文件末尾的n个字节内容,比如-c 100表示显示最后100个字节 |
实际使用示例
下面通过几个实际场景的示例,展示tail命令的具体用法。
示例1:显示文件最后5行
如果要查看/var/log/syslog文件的最后5行内容,可以执行以下命令:
tail -n 5 /var/log/syslog
示例2:实时查看日志文件新增内容
查看正在运行的服务日志时,需要实时看到最新的日志输出,可以加上-f参数:
# 实时查看nginx访问日志的最新内容 tail -f /var/log/nginx/access.log
执行该命令后,终端会持续显示日志文件的新增内容,如果需要退出实时查看模式,按下Ctrl+C组合键即可。
示例3:显示文件末尾指定字节内容
如果只需要查看文件末尾的100个字节内容,可以使用-c参数:
tail -c 100 test.txt
注意事项
- 如果查看的文件不存在,tail命令会提示文件不存在的错误信息
- 使用
-f参数时,如果文件被删除或者重命名,tail命令可能会停止输出,需要重新执行命令 - 如果没有文件操作权限,执行tail命令会提示权限不足,此时可以加上
sudo获取权限后执行
除了tail命令之外,也可以通过组合其他命令实现类似效果,比如使用cat file | tail -n 3的方式,先输出文件全部内容再通过tail截取最后3行,不过这种方式效率低于直接使用tail命令,建议优先使用tail的原生命令用法。