用tail命令可高效提取大日志文件末尾内容:默认显示最后10行;-n n或-n指定行数;-f实时跟踪新增内容但不自动处理日志轮转;-c n提取末尾字节数,可能截断行。

你需要快速确认日志文件最新写入的几条记录,但文件体积太大无法用文本编辑器打开——这时必须用终端命令精准提取末尾内容,避免加载整份文件造成卡顿或内存溢出。
用tail查看文件最后10行(默认行为)
在终端中输入:tail 文件名,例如 tail /var/log/system.log。
这一步操作起来很简单,直接回车就能看到文件末尾默认10行内容。如果文件是实时追加的日志,【该命令不会自动刷新】,只输出执行瞬间的快照。
指定行数查看最后N行
方法一:使用数字参数
输入 tail -20 /tmp/app_output.txt 查看最后20行;tail -100 error.log 查看最后100行。
方法二:使用 -n 选项(等效但更显式)tail -n 50 access.log 效果与 tail -50 access.log 完全相同。
注意:-n 后面的数字不能带空格,写成 tail -n 50 是对的,tail -n 50(中间两个空格)会导致报错“invalid number”。
实时跟踪文件新增内容
第一步:执行 tail -f 日志文件路径,例如 tail -f ~/Library/Logs/myapp.log。
第二步:终端会持续等待新行写入,每出现一行就立刻显示在屏幕上。
第三步:按 Ctrl + C 中断跟踪并返回命令提示符。
这个模式下,只要应用还在往文件里写日志,你就能实时看到最新输出。但【一旦文件被轮转(如 logrotate 重命名或清空),-f 会停止更新且不自动切换到新文件】,需手动重启命令。
查看最后若干字节而非行数
输入 tail -c 2048 data.bin 可提取文件末尾2048个字节,适用于二进制文件或需要精确字节偏移的场景。
这个参数对纯文本也有效,但结果可能截断某一行——比如最后一行有300字符,而你只取最后200字节,那这一行就显示不全。所以除非明确需要字节级控制,否则优先用 -n。











