Linux 的 tail 命令

tail 是 Linux/Unix 系统中一个常用的命令行工具,用于查看文件的末尾内容。默认情况下,它会显示指定文件的最后 10 行内容。

基本语法

bash 复制代码
tail [选项] [文件]

常用选项

  1. -n 或 --lines:指定显示的行数

    bash 复制代码
    tail -n 20 filename.txt  # 显示文件最后20行
  2. -f 或 --follow:实时追踪文件变化(常用于查看日志)

    bash 复制代码
    tail -f /var/log/syslog  # 实时监控系统日志
  3. -c 或 --bytes:显示指定字节数的内容

    bash 复制代码
    tail -c 100 filename.txt  # 显示文件最后100个字节
  4. -q:不显示文件名标题(当处理多个文件时)

    bash 复制代码
    tail -q file1.txt file2.txt
  5. -v:总是显示文件名标题

    bash 复制代码
    tail -v file1.txt file2.txt

高级用法

  1. 组合使用多个选项:

    bash 复制代码
    tail -n 15 -f access.log  # 实时显示日志文件最后15行
  2. 与管道配合使用:

    bash 复制代码
    dmesg | tail -n 20  # 显示内核消息的最后20行
  3. 从指定位置开始显示:

    bash 复制代码
    tail -n +20 filename.txt  # 从第20行开始显示到文件末尾
  4. 监控多个日志文件:

    bash 复制代码
    tail -f /var/log/{syslog,kern.log}

实际应用场景

  1. 日志监控:

    bash 复制代码
    tail -f /var/log/nginx/access.log  # 实时监控Nginx访问日志
  2. 查看最新记录:

    bash 复制代码
    tail -n 50 /var/log/auth.log  # 查看最近的50条认证日志
  3. 结合grep过滤内容:

    bash 复制代码
    tail -f /var/log/syslog | grep "error"  # 实时监控系统日志中的错误信息
  4. 查看大文件末尾:

    bash 复制代码
    tail -n 100 large_file.csv  # 查看大型CSV文件的最后100行

注意事项

  1. 使用 -f 选项时,需要按 Ctrl+C 退出实时监控模式
  2. 对于二进制文件,tail 命令可能显示乱码
  3. 在脚本中使用时,考虑添加 --pid 选项以便在特定进程结束时自动退出
  4. 某些系统可能需要使用 -F 而非 -f 来跟踪被轮转的日志文件
相关推荐
云杂项7 小时前
tmux指南:安装、配置与高效使用(Ubuntu上)
linux·服务器·ubuntu
YOLO数据集集合7 小时前
风机叶片表面损伤检测数据集 | 风机叶片 表面损伤 污渍检测 无人机巡检 风电运维9119期
运维·人工智能·计算机视觉·目标跟踪·无人机·智慧城市·电力巡检
j7~7 小时前
【Linux网络编程】四十七.《Linux IO 模型详解:阻塞 IO、非阻塞 IO 与 IO 多路转接(select)》
linux·运维·网络·select·非阻塞io·阻塞io·i/o多路连接
分布式存储与RustFS8 小时前
用RustFS给Harbor当S3存储后端
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
GeW8 小时前
智能工厂背后:Linux在跑,数据库在扛,高端制造在加速
linux
泡海椒8 小时前
趋势分析报表:jquick-pdf折线图PDF生成实战
java·大数据·运维·服务器·前端·pdf
qq_394562008 小时前
【在Linux上升级nginx】
linux·服务器·nginx
丸子君君8 小时前
【以麒麟服务器时间为准,定时请求时间同步】
运维·服务器·单片机
海盗12348 小时前
AI 新闻日报 2026-09-28:正确性审查自动化、7×24 个人智能体、具身部署态
运维·人工智能·机器人·自动化·人工智能aigc
元岳数字人小元8 小时前
数字人源码系统:模块化开发赋能智能场景灵活迭代升级
运维·人工智能·开源·人机交互·交互