head 与 tail 分别用来显示开头或结尾期望数量的文字区块。head 将文件开头到指定位置的内容写到标准输出,tail 命令从指定点开始到结束的内容写到标准输出。使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,以便看到最新的文件内容。
1.命令格式
head [参数]... [文件]...
tail [必要参数][选择参数][文件]
2.命令功能
head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。 tail 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
3.命令参数
head
- -q 隐藏文件名
- -v 显示文件名
- -c<字节> 显示字节数
- -n<行数> 显示的行数
tail
- -f 循环读取
- -q 不显示处理信息
- -v 显示详细的处理信息
- -c<数目> 显示的字节数-n<行数> 显示行数
- –pid=PID 与-f合用,表示在进程ID,PID死掉之后结束。
- -q, --quiet, --silent 从不输出给出文件名的首部。
- -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
4.使用实例
1:head显示文件的前n行
命令:
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
2:head显示文件前n个字节
命令:
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行。
3:head文件的除了最后n个字节以外的内容
命令:
head -c -16 test2.txt
输出:
ubuntu@VM-4-14-ubuntu:~/headtail$ head -c -16 test2.txt
t21
t22
4:head输出文件除了最后n行的全部内容
命令:
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
5:tail显示文件末尾内容
命令:
tail -n 4 test2.txt
输出:
ubuntu@VM-4-14-ubuntu:~/headtail$ tail -n 4 test2.txt
t23
t24
t25
t26
说明:显示文件最后4行内容
6:tail循环查看文件内容
命令:
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来终止。然后再在测试终端中执行上面的命令,就可以看到一条条往上滚动的效果。
7:tail从第10行开始显示文件
命令:
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后面的数字正数可以不加 + 号
|