Linux命令行查看文件结尾的内容 - tail

tail - output the last part of files,用于输出文件结尾的内容。
tail命令的参数与head命令类似,支持显示结尾连续n行的内容或c字节的内容。

查看文件结尾若干行的内容

使用-n lines选项显示文件结尾的前lines行。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
sunnogo@a3e420:~/test/hello$ cat hello.c -n
1 #include <stdio.h>
2 /* just a comment */
3 int main(void)
4 {
5 printf("Hello world!\n");
6
7 return 0;
8 }
sunnogo@a3e420:~/test/hello$ tail hello.c -n 5
{
printf("Hello world!\n");

return 0;
}
sunnogo@a3e420:~/test/hello$

另一种使用方法:

1
2
3
4
5
6
7
sunnogo@a3e420:~/test/hello$ cat hello.c -n | tail -n 5
4 {
5 printf("Hello world!\n");
6
7 return 0;
8 }
sunnogo@a3e420:~/test/hello$

查看文件结尾若干字节的内容

使用-c bytes显示文件前bytes字节的内容

1
2
3
sunnogo@a3e420:~/test/hello$ tail -c 5 hello.c 
0;
}

输出文件结尾内容的同时显示文件名

使用-v选项显示文件名:

1
2
3
4
5
6
7
8
sunnogo@a3e420:~/test/hello$ tail -vn 5 hello.c 
==> hello.c <==
{
printf("Hello world!\n");

return 0;
}
sunnogo@a3e420:~/test/hello$

使用tail命令监控文件的实时状态

  • -f选项,让tail命令一直保持活动状态,如果有新的内容加到文件的末尾就显示出来;
  • --pid=PID选项,和-f参数一起使用,跟踪一个文件直到进程ID为PID的进程结束;
  • -s sec选项,和-f参数一起使用,在每次循环输出之间休眠sec秒。

样例待后续补充。