文本处理 / 命令文档

Linux tail 命令

$ tail 2 个章节 Linux 命令详解

概述

实时日志监控神器

tail 命令

从文件尾部开始显示内容的强大工具

命令含义

tail 命令用于显示文件的尾部内容,默认显示文件的最后10行。它是Linux/Unix系统中最重要的日志查看和监控工具之一,特别适合实时监控不断增长的日志文件。

实时监控

使用-f参数可以实时监控文件变化

灵活显示

可以指定显示任意行数的内容

高效性能

只读取文件尾部,性能优秀

多种模式

支持按行数或字节数显示

典型使用场景

监控应用程序日志、系统日志、错误日志的实时变化,是运维工作中最常用的功能。 tail -f /var/log/nginx/access.log
当系统出现问题时,快速查看最近的日志记录,定位错误信息和异常情况。 tail -100 /var/log/syslog | grep ERROR
在应用部署过程中,实时监控部署日志,确保部署过程顺利完成。 tail -f /var/log/deploy.log
监控系统性能指标文件,观察CPU、内存、磁盘等资源的使用变化。 tail -f /proc/loadavg
监控安全相关日志,如登录日志、认证日志,及时发现安全威胁。 tail -f /var/log/auth.log
查看大型数据文件的最新内容,了解数据处理的最新进展和结果。 tail -20 data_processing.txt

运维实战命令大全

基本显示

tail /var/log/syslog

显示文件的最后10行(默认行数)

Jan 28 10:30:15 server systemd[1]: Started Daily apt download activities. Jan 28 10:30:15 server systemd[1]: apt-daily.timer: Adding 6h 31min 42.123456s random time. Jan 28 10:35:01 server CRON[12345]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)

指定行数显示

tail -n 20 /var/log/nginx/access.log

显示文件的最后20行

tail -20 /var/log/nginx/access.log

简写形式,等同于上面的命令

按字节显示

tail -c 500 /var/log/messages

显示文件的最后500个字节

多文件显示

tail -n 5 /var/log/syslog /var/log/auth.log

同时显示多个文件的尾部内容,会显示文件名分隔符

==> /var/log/syslog <== 最后5行内容... ==> /var/log/auth.log <== 最后5行内容...

从指定行开始显示

tail -n +100 /var/log/apache2/access.log

从第100行开始显示到文件结尾(跳过前99行)

静默模式

tail -q /var/log/syslog /var/log/messages

多文件显示时不显示文件名分隔符

详细模式

tail -v /var/log/nginx/error.log

总是显示文件名,即使只有一个文件

忽略文件大小变化

tail --follow=name /var/log/rotated.log

按文件名跟踪,即使文件被重命名或轮转也继续监控

设置重试间隔

tail -f --retry --sleep-interval=2 /var/log/app.log

设置检查文件变化的间隔时间为2秒,并在文件不存在时重试

实时监控基础

tail -f /var/log/syslog

实时监控系统日志变化(最常用的命令)

持续监控多文件

tail -f /var/log/nginx/access.log /var/log/nginx/error.log

同时监控多个日志文件的实时变化

监控并显示更多行

tail -n 50 -f /var/log/mysql/error.log

先显示最后50行,然后继续实时监控

过滤监控

tail -f /var/log/apache2/access.log | grep "404"

实时监控并只显示包含"404"的行

高亮关键词

tail -f /var/log/syslog | grep --color=always -E "ERROR|WARN|CRITICAL"

实时监控并高亮显示错误关键词

tail + grep 组合

tail -1000 /var/log/nginx/access.log | grep "POST" | wc -l

统计最近1000行中POST请求的数量

tail + awk 数据分析

tail -n 1000 /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -nr | head -10

同分类 · 其他命令文档