Linux 中的“tail”命令

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

目录

tail 命令默认输出

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

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

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

root@HowLinux:~# tail +15 input.txt
15
16
17
18
19
20
尾加选项

Linux tail 命令选项

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

1.逐块(-b)选项

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

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

root@HowLinux:~# 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 所有输入文件的字符(字节)

root@HowLinux:~# 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 所有输入文件的行

root@HowLinux:~# 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 ..

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

root@HowLinux:~# 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 行以及文件头

root@HowLinux:~# 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