head 与 tail 分别用来显示开头或结尾期望数量的文字区块。head 将文件开头到指定位置的内容写到标准输出,tail 命令从指定点开始到结束的内容写到标准输出。使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,以便看到最新的文件内容。
head [参数]... [文件]...
tail [必要参数][选择参数][文件]
head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
tail 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
命令:
head -n 2 test2.txt
输出:
ubuntu@VM-4-14-ubuntu:~/headtail$ cat test2.txt
t21
t22
t23
t24
t25
t26
ubuntu@VM-4-14-ubuntu:~/headtail$ head -n 2 test2.txt
t21
t22
命令:
head -c 16 test2.txt
输出:
ubuntu@VM-4-14-ubuntu:~/headtail$ head -c 16 test2.txt
t21
t22
t23
t24
说明:-c 要满一行才能输出,test2文件中一行是4给字符,也是4个字节,16刚好是4行,如果参数是13-15,显示结果都只有前面3行。
命令:
head -c -16 test2.txt
输出:
ubuntu@VM-4-14-ubuntu:~/headtail$ head -c -16 test2.txt
t21
t22
命令:
head -n -2 test2.txt
输出:
ubuntu@VM-4-14-ubuntu:~/headtail$ head -n 2 test2.txt
t21
t22
ubuntu@VM-4-14-ubuntu:~/headtail$ head -n -2 test2.txt
t21
t22
t23
t24
命令:
tail -n 4 test2.txt
输出:
ubuntu@VM-4-14-ubuntu:~/headtail$ tail -n 4 test2.txt
t23
t24
t25
t26
说明:显示文件最后4行内容
命令:
tail -f ping.txt
输出:
ubuntu@VM-4-14-ubuntu:~/headtail$ tail -f ping.txt
64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=54 ttl=51 time=26.0 ms
64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=55 ttl=51 time=26.0 ms
64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=56 ttl=51 time=26.0 ms
64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=57 ttl=51 time=26.0 ms
64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=58 ttl=51 time=26.0 ms
说明:先在另外一个终端窗口中执行ping www.baidu.com > ping.txt,在后台ping远程主机。并输出文件到ping.log;这种做法也使用于一个以上的档案监视。用Ctrl+c来终止。然后再在测试终端中执行上面的命令,就可以看到一条条往上滚动的效果。
命令:
tail -n 10 test1.txt
输出:
ubuntu@VM-4-14-ubuntu:~/headtail$ tail -n 10 test1.txt
11
1
13
14
15
16
17
18
19
20
ubuntu@VM-4-14-ubuntu:~/headtail$
说明:-n后面的数字正数可以不加 + 号