Linux的tail
Linux的tail
tail
作用
tail 是 Linux 中与 head 对应的核心命令,专门用于查看文件或命令输出的末尾内容,默认显示最后 10 行,核心优势是支持实时跟踪文件更新(如日志实时打印),无需加载整个文件,效率极高,是排查实时日志、监控文件变化的必备工具。
格式
tail 文件名
参数
-n <数字>(或 --lines=<数字>) 指定显示的末尾行数(数字可正可负):
- 正数 N:显示最后 N 行;
- 正数 +N:从第 N 行开始显示到文件末尾(而非末尾 N 行);
- 负数 -N:等价于 +N(部分系统支持,推荐用 +N 更清晰) tail -n 20 log.txt(显示最后 20 行)tail -n +50 data.csv(从第 50 行开始显示到末尾)
-<数字>(简化写法) 等价于 -n <数字>,快速指定末尾 N 行(最常用) tail -5 app.log(显示最后 5 行日志)
tail -100 access.log(显示最后 100 行访问日志)
-f(或 --follow) 实时跟踪文件更新(“follow” 模式):文件新增内容会自动打印到终端,直到按 Ctrl+C 退出(核心功能,监控实时日志必备) tail -f catalina.out(实时跟踪 Tomcat 日志)
-F(或 --follow=name --retry) 增强版实时跟踪:
- 支持文件 “轮转”(如日志按天切割后,自动跟踪新生成的文件);
- 文件被删除或重建后,会持续重试连接(比 -f 更稳定,生产环境优先用) tail -F nginx.access.log(实时跟踪 Nginx 日志,支持日志切割)
-v(或 --verbose) 显示详细信息:处理多个文件时强制标注文件名;单个文件也显示文件名标识 tail -v -5 file.txt(显示最后 5 行,带文件名 > file.txt <)
-q(或 --quiet/–silent) 静默模式:处理多个文件时,不显示文件名标识(仅显示内容,适合合并末尾) tail -q -3 file1.txt file2.txt(合并两个文件的最后 3 行,无文件名)
-c <数字>(或 --bytes=<数字>) 按字节数显示末尾内容(而非行数):
- 正数 N:显示最后 N 字节;
- 正数 +N:从第 N 字节开始显示到末尾 tail -c 100 binary.bin(显示二进制文件最后 100 字节)
tail -c +200 header.txt(从第 200 字节开始显示)
–retry 配合 -f 使用:文件暂时不可访问(如被删除、挂载点断开)时,持续重试连接(-F 已包含此功能) tail -f --retry log.txt(实时跟踪,断开后重试)
–help / --version 显示帮助信息 / 显示命令版本
常用场景
1、读取单个文件
# 显示 test.txt 的全部内容
cat test.txt
2、拼接多个文件:将多个文件内容合并输出(可保存到新文件)
cat file1.txt file2.txt # 依次显示 file1 和 file2 的内容
cat file1.txt file2.txt > newfile.txt # 合并到 newfile.txt(覆盖原有内容)
3、创建文件:通过输入内容创建新文件(按 Ctrl+D 结束输入)
cat > new.txt # 输入内容后按 Ctrl+D 保存
4、带行号、显示详细提示、忽略大小写,查看并搜索日志
less -NMi +/TimeoutError app.log
5、查看带颜色的日志,截断长行,支持横向滚动
less -Sr colored_log.txt
6、分页查看全局搜索结果,仅显示包含 “500” 的错误行:
grep -r "HTTP" /var/log | less -N &500
7、快速跳转到文件第 300 行,且显示行号
less -N +300 config.conf
更多推荐

所有评论(0)