tail 命令简介

tail 命令用于显示文件的尾部内容(默认是最后10行)。它常用于查看日志文件的最新输出。

语法格式

tail [OPTION]... [FILE]...

常用参数

  1. -n, --lines=[+]NUM

    • 显示文件的最后 NUM 行。
    • 示例:tail -n 20 filename.txt 显示文件 filename.txt 的最后20行。
    • 如果 NUM 以 '+' 开头,则从第 NUM 行开始显示。
    • 示例:tail -n +20 filename.txt 从第20行开始显示文件内容。
  2. -f, --follow

    • 实时输出文件末尾内容。常用于监视正在变化的日志文件。
    • 示例:tail -f filename.txt 实时显示文件 filename.txt 的新增内容。
  3. --retry

    • 如果文件不可访问(例如在网络文件系统上暂时不可用),定期尝试重新打开文件与 -f 一起使用。
    • 示例:tail -f --retry filename.txt 定期尝试重新打开文件 filename.txt 并实时输出。
  4. -c, --bytes=[+]NUM

    • 显示文件的最后 NUM 个字节。
    • 示例:tail -c 100 filename.txt 显示文件 filename.txt 的最后100个字节。
    • 如果 NUM 以 '+' 开头,则从第 NUM 个字节开始显示。
    • 示例:tail -c +100 filename.txt 从第100个字节开始显示文件内容。
  5. -q, --quiet, --silent

    • 多个文件时,不输出文件名。
    • 示例:tail -q file1.txt file2.txt 显示 file1.txtfile2.txt 的内容但不显示文件名。
  6. -v, --verbose

    • 总是输出文件名。
    • 示例:tail -v file1.txt file2.txt 显示 file1.txtfile2.txt 的内容并显示文件名。
  7. --max-unchanged-stats=N

    • 当使用 -f 时,如果文件变化次数超过 N 次,重新读取文件(默认为5)。
    • 示例:tail -f --max-unchanged-stats=10 filename.txt 如果文件变化次数超过10次,重新读取文件。
  8. -s, --sleep-interval=N

    • 当使用 -f 时,两次检查文件更新之间的间隔时间(默认为1秒)。
    • 示例:tail -f -s 2 filename.txt 每隔2秒检查一次文件更新。

示例

  1. 显示文件最后10行

默认显示指定文件尾部的后10行内容

tail filename.txt
  1. 显示文件最后20行

    tail -n 20 filename.txt
  2. 实时跟踪文件内容

    tail -f /var/log/syslog
  3. 显示文件最后100个字节

    tail -c 100 filename.txt
  4. 从第50行开始显示文件内容

    tail -n +50 filename.txt
  5. 实时跟踪多个文件内容

    tail -f file1.log file2.log
  6. 不输出文件名

    tail -q file1.txt file2.txt

注意事项

  • tail 命令适用于所有类Unix系统(如Linux、macOS等)。
  • 使用 -f 参数时要小心文件系统的变化,尤其是在网络文件系统上。

本文由mdnice多平台发布


逼格高的汤圆
7 声望2 粉丝