head与tail都是以行为单位进行数据选取的,head是取出前面,tail是取出后面的。
head(取出前面几行)
1.命令格式:
head [参数]... [文件]...
2.命令参数:
-q 隐藏文件名
-v 显示文件名
-c<字节> 显示字节数
-n<行数> 显示的行数
命令示例:
1.默认情况下,显示前10行
[root@w zdw]# head 123.log 12345678910
2.显示前5行
[root@w zdw]# head -n 5 123.log 12345
3.文件有21行,以下操作,只打印前面的6行,后面的15行不会打印出来
[root@w zdw]# head -n -15 123.log 123456
tail(取出后面几行)
1.命令格式;
tail[必要参数][选择参数][文件]
2.命令参数:
-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c<数目> 显示的字节数
-n<行数> 显示行数
--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束.
-q, --quiet, --silent 从不输出给出文件名的首部
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
命令示例:
1.显示文件最后5行
[root@w zdw]# tail -n 5 123.log 1617181920
2.只列出15行以后的数据
[root@w zdw]# tail -n +15 123.log 151617181920
3.循环查看文件内容
[root@w zdw]# ping www.baidu.com >123.log & 把ping信息追加到123.log中[root@w zdw]# tail -f 123.log 64 bytes from 220.181.111.188: icmp_seq=32 ttl=55 time=3.50 ms64 bytes from 220.181.111.188: icmp_seq=33 ttl=55 time=3.67 ms64 bytes from 220.181.111.188: icmp_seq=34 ttl=55 time=7.14 ms64 bytes from 220.181.111.188: icmp_seq=47 ttl=55 time=3.54 ms64 bytes from 220.181.111.188: icmp_seq=48 ttl=55 time=3.33 ms64 bytes from 220.181.111.188: icmp_seq=49 ttl=55 time=4.24 ms^C
一直显示,直到按ctrl+c才终止
4.显示文件的第6行到第10行
[root@w zdw]# head -n 10 456.log|tail -n 5 使用管道来操作678910