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 来跟踪被轮转的日志文件
相关推荐
万联WANFLOW2 小时前
SD-WAN 控制平面高可用怎么做?SDWAN 控制器挂了,全网会发生什么
运维·网络·分布式·架构
酱学编程2 小时前
【从零到一实现一个 AI Agent 框架 · 第四篇】04. 任务规划:拆解复杂目标 -
服务器·网络·数据库·人工智能
SkyWalking中文站4 小时前
认识 Horizon UI · AI Assistant:用日常语言查询你的可观测性数据
运维·监控·自动化运维
艾莉丝努力练剑4 小时前
OpenCode AI 编程:Ubuntu 24.04 环境安装与使用指南
linux·服务器·网络·人工智能·tcp/ip·ubuntu
崇山峻岭之间5 小时前
Keil5输出hex转换为bin的设置
linux·运维·服务器
Hoxy.R5 小时前
KingbaseES读写分离高可用集群扩容、备库重建与故障切换实战
运维·数据库
谷雪_6585 小时前
Linux 网络命名空间:从内核原理到企业级容器网络架构全景实战
linux·网络·架构
Tian_Hang6 小时前
Eclipse Ditto 的权限策略
java·服务器·前端·网络·ide·ubuntu·eclipse
qq_163135756 小时前
Linux 【03- chgrp命令超详细教程】
linux
CodeStats7 小时前
【编程语言】深度梳理C/C++、Java、Python、Go、Rust的区别
java·linux·c语言·c++·python·rust·go