Linux 中的“tail”命令

尾巴 Linux 中的命令显示任何文件的最后几行/块,行/块的数量取决于使用命令时传递的选项。

tail 命令默认输出

当没有提供选项时,它会打印最后一个 10 作为参数提供的所有输入文件的行。

[email protected]:~# cat input.txt 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 
[email protected]:~# tail input.txt 11 12 13 14 15 16 17 18 19 20 
尾巴基础

除此之外,我们还可以使用 + 符号表示该位置相对于输入的开头。 例如, tail +15 input.txt 印刷 input.txt 从第 15 行开始,直到文件末尾。

[email protected]:~# tail +15 input.txt 15 16 17 18 19 20 
尾加选项

Linux tail 命令选项

选项名称 描述
-b ${在一个} 显示最后一个 在一个 512 字节块(最后一个 512*NUM 字节被打印)
-c ${在一个} 显示最后一个 在一个 文件的字节数(最后一个 在一个 文件的字节被打印)
-F 跟踪文件描述符(仅采用单个文件名作为参数)
-F 与 f 相同,但也检查文件描述符对应的文件名是否被重命名
-n ${在一个} 显示最后一个 在一个 文件的行
-r 以相反的顺序显示输入。 它可以与其他选项结合使用

1.逐块(-b)选项

格式 : tail -Nb input1.txt input2.txt ...

这用于显示最后一个 N 所有输入文件的 512 字节块。

[email protected]:~# tail -1b input.txt 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 
尾座选项尾座选项

2.逐字符(-c)选项

格式: tail -c N input1.txt input2.txt ...

这用于显示最后一个 N 所有输入文件的字符(字节)

[email protected]:~# tail -c 10 input1.txt input2.txt ==> input1.txt <==  18 19 20  ==> input2.txt <==  18 19 20 
尾字符选项尾字符选项

3.行号(-n)选项

格式: tail -n N input1.txt input2.txt ..

或者

格式: tail -N input1.txt input2.txt ..

此选项显示最后 N 所有输入文件的行

[email protected]:~# tail -n 10 input.txt 11 12 13 14 15 16 17 18 19 20 
尾部最后 N 行尾部最后 N 行

4.详细(-v)选项

格式: tail -v input1.txt input2.txt ..

在该文件的输出之前显示文件头

[email protected]:~# tail -v input1.txt input2.txt ==> input1.txt <== 11 12 13 14 15 16 17 18 19 20 ==> input2.txt <== 11 12 13 14 15 16 17 18 19 20 
尾部详细尾部详细

可以组合多个选项 -v 与相应的文件头一起显示

下面的命令结合了 -n 选项 -v, 显示最后 5 行以及文件头

[email protected]:~# tail -rn5 input.txt ==> input.txt <== 16 17 18 19 20 
尾冗长带 N尾冗长带 N

5.标志选项(-f,-F)

这些主要用于日志文件,或者需要跟踪某些重要文件时。 这不会在到达文件末尾后停止,而是跟踪文件描述符并在文件描述符发生更改时更新输出。 该命令只有在文件描述符关闭或收到中断信号时才能停止。

结论

我们了解了如何使用 tail 命令以不同的方式显示文件的内容,具体取决于指定的选项。

参考

Linux 手册页:https://man7.org/linux/man-pages/man1/tail.1.html