在linux系统中,日志文件记录了系统运行、服务状态、程序报错等各类关键信息,掌握查看日志的命令是运维和开发人员的必备技能。不同的查看需求对应不同的命令,下面逐一介绍常用的日志查看命令及用法。

tail命令:查看日志尾部内容
tail是最常用的日志查看命令,默认显示文件末尾10行内容,非常适合查看最新的日志输出,常用于实时跟踪日志更新。
基础用法:
# 查看日志文件最后10行 tail /var/log/syslog # 查看最后20行 tail -n 20 /var/log/syslog # 实时跟踪日志更新,新日志写入时会自动显示 tail -f /var/log/nginx/access.log
cat命令:查看完整日志内容
cat命令可以一次性输出整个日志文件的内容,适合查看内容较短的日志文件,不过如果日志文件过大,会导致终端输出刷屏,不建议用于大文件查看。
基础用法:
# 查看完整日志内容 cat /var/log/auth.log # 结合管道符分页查看,避免内容过多刷屏 cat /var/log/syslog | less
less命令:分页查看大日志文件
less命令支持分页查看文件内容,不会一次性加载全部内容,适合查看体积较大的日志文件,还支持搜索、跳转等操作。
常用操作:
- 打开文件后,按空格键向下翻页,按b键向上翻页
- 输入/关键词后按回车,可以向下搜索关键词
- 输入?关键词后按回车,可以向上搜索关键词
- 按q键退出查看
基础用法:
# 分页查看日志文件 less /var/log/syslog # 打开时直接定位到最后一行 less +G /var/log/nginx/error.log
grep命令:过滤日志内容
grep命令用于过滤文件内容,常和其他日志查看命令结合使用,快速筛选出包含指定关键词的日志行,是排查特定问题的利器。
基础用法:
# 在日志中搜索包含error关键词的行 grep "error" /var/log/syslog # 忽略大小写搜索 grep -i "error" /var/log/syslog # 显示匹配行的同时显示行号 grep -n "404" /var/log/nginx/access.log # 结合tail命令实时搜索包含error的新日志 tail -f /var/log/syslog | grep "error"
head命令:查看日志头部内容
head命令和tail相反,默认显示文件开头10行内容,适合查看日志文件的最早记录。
基础用法:
# 查看日志前10行 head /var/log/syslog # 查看前30行 head -n 30 /var/log/auth.log
综合使用示例
实际排查问题时,往往需要组合多个命令使用,以下是几个常见场景的示例:
# 查看最近100行日志中包含error的行,并显示行号 tail -n 100 /var/log/syslog | grep -n "error" # 分页查看包含404状态码的nginx访问日志 grep "404" /var/log/nginx/access.log | less # 统计日志中error关键词出现的次数 grep -c "error" /var/log/syslog
注意事项
查看系统日志时,部分日志文件需要root权限才能访问,如果提示权限不足,可以在命令前加上sudo获取权限。另外,实时跟踪日志时使用tail -f命令,退出时按Ctrl+C即可停止跟踪。