一天一个shell命令 linux文本操作系列-head,tail命令详解(每天一个linux)

admin3年前云主机84

head命令中文介绍:

用法:head [选项]... [文件]...将每个指定文件的头10 行显示到标准输出。如果指定了多于一个文件,在每一段输出前会给出文件名作为文件头。如果不指定文件,或者文件为"-",则从标准输入读取数据。长选项必须使用的参数对于短选项时也是必需使用的。 -c, --bytes=[-]K显示每个文件的前K 字节内容;如果附加"-"参数,则除了每个文件的最后K字节数据外显示剩余全部内容 -n, --lines=[-]K显示每个文件的前K 行内容;如果附加"-"参数,则除了每个文件的最后K 行外显示剩余全部内容 -q, --quiet, --silent不显示包含给定文件名的文件头 -v, --verbose总是显示包含给定文件名的文件头 --help显示此帮助信息并退出 --version显示版本信息并退出K 后面可以跟乘号:b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,GB 1000*1000*1000, G 1024*1024*1024, 对于T, P, E, Z, Y 同样适用。

tail命令详解

用法:tail [选项]... [文件]...显示每个指定文件的最后10 行到标准输出。若指定了多于一个文件,程序会在每段输出的开始添加相应文件名作为头。如果不指定文件或文件为"-" ,则从标准输入读取数据。长选项必须使用的参数对于短选项时也是必需使用的。 -c, --bytes=K输出最后K 字节;另外,使用-c +K 从每个文件的第K 字节输出 -f, --follow[={name|descriptor}]即时输出文件变化后追加的数据。-f, --follow 等于--follow=descriptor -F即--follow=name --retry -n, --lines=K输出最后K 行,代替最后10 行;使用-n +K 从每个文件的第K 字节输出 --max-unchanged-stats=N使用--follow=name, 重新打开一个在N(默认为5)次迭代后没有改变大小的文件来看它是否被解除连接或重命名(这是循环日志文件的通常情况)。由于有inotify,这个选项很少使用。 --pid=PID同 -f 一起使用,当 PID 所对应的进程死去后终止 -q, --quiet, --silent不输出给出文件名的头 --retry即使目标文件不可访问依然试图打开;在与参数--follow=name 同时使用时常常有用。 -s, --sleep-interval=N with -f, sleep for approximately N seconds (default 1.0) between iterations. With inotify and --pid=P, check process P at least once every N seconds. -v, --verbose always output headers giving file names --help显示此帮助信息并退出 --version显示版本信息并退出如果字节数或行数K 的第一个字符是"+",输出从文件开始第K 个项目,否则输出文件最后K 个项目。K 可以使用一下几种单位之一:b 512,kB 1000,K 1024,MB 1000*1000,M 1024*1024,GB 1000*1000*1000,G 1024*1024*1024,以及T,P,E,Z,Y。如果您希望即时追查一个文件的有效名称而非描述内容(例如循环日志),默认的程序动作并不如您所愿。在这种场合可以使用--follow=name 选项,它会使tail 定期追踪打开给定名称的文件,以确认它是否被删除或被其它某些程序重新创建过。

head:  打印文件的前10行(默认)
tail:     打印文件的后10行(默认)

如果你是个典型的开发或者部署人员,是不是觉得开始亲切起来。我们平时用的最多的命令

$tail -f  catalina.out 

$head

实例:

1. 打印head.txt, tail.txt的前10行

$head head.txt tail.txt

复制代码 代码如下:
 ==> head.txt <==
head.txt内容

==> tail.txt <==

tail.txt内容

2.  打印 1K的内容

$head –c1K head.txt

3.  打印前5行内容

$head -n5 head.txt

4.  打印出最后5行之外的所有行

$head -n -5 head.txt

这里-5表示负5
解读 --help

复制代码 代码如下:
用法:head [选项]... [文件]...
将每个指定文件的头10 行显示到标准输出。
 如果指定了多于一个文件,在每一段输出前会给出文件名作为文件头。
 如果不指定文件,或者文件为"-",则从标准输入读取数据。
长选项必须使用的参数对于短选项时也是必需使用的。
-c, --bytes=[-]K         显示每个文件的前K 字节内容;
 如果附加"-"参数,则除了每个文件的最后K字节数据外
 显示剩余全部内容
-n, --lines=[-]K           显示每个文件的前K 行内容;
 如果附加"-"参数,则除了每个文件的最后K 行外显示
 剩余全部内容
-q, --quiet, --silent       不显示包含给定文件名的文件头
-v, --verbose               总是显示包含给定文件名的文件头
--help                          显示此帮助信息并退出
--version                     显示版本信息并退出
K 后面可以跟乘号: 
b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,
 GB 1000*1000*1000, G 1024*1024*1024, 对于T, P, E, Z, Y 同样适用。

解读:

这里唯一注意:如果不指定文件,或者文件为"-",则从标准输入读取数据。

$tail

实例:

1.打印一个文件最后10行

$tail tail.txt

2.跟踪日志,打印文件最后几行,并且保持读取追加数据

tail -f tail.txt

解读--help

用法:tail [选项]... [文件]... 显示每个指定文件的最后10 行到标准输出。 若指定了多于一个文件,程序会在每段输出的开始添加相应文件名作为头。 如果不指定文件或文件为"-" ,则从标准输入读取数据。 长选项必须使用的参数对于短选项时也是必需使用的。 -c, --bytes=K 输出最后K 字节;另外,使用-c +K 从每个文件的第K 字节输出 -f, --follow[={name|descriptor}] 即时输出文件变化后追加的数据。 -F 即--follow=name --retry -n --lines=K 输出最后K 行,代替最后10 行;span >-n +K 从每个文件的第K 字节输出--max-unchanged-stats=N 使用--follow=name, 重新打开一个在N(默认为5) 次迭代后没有改变大小的文件来看它是否被解除连 接或重命名(这是循环日志文件的通常情况)。 由于有inotify,这个选项很少使用。 --pid=PID 同 -f 一起使用,当 PID 所对应的进程死去后终止 -q --quiet, --silent 不输出给出文件名的头 --retry 即使目标文件不可访问依然试图打开;在与参数 --follow=name 同时使用时常常有用。 -s --sleep-interval=N with -f, sleep for approximately N seconds (default 1.0) between iterations. With inotify and--pid=P, check process P at least once every N seconds. -v --verbose always output headers giving file names --help 显示此帮助信息并退出 --version 显示版本信息并退出 如果字节数或行数K 的第一个字符是"+",输出从文件开始第K 个项目,否则输出文件 最后K 个项目。K 可以使用一下几种单位之一: b 512,kB 1000,K 1024,MB 1000*1000,M 1024*1024, GB 1000*1000*1000,G 1024*1024*1024,以及T,P,E,Z,Y。

解读:

1. 区别-f 和-F

借网上一例子:
窗口1 输入 

$while [ "true" ] ; do date >>test.log; sleep 1 ; done;


#每隔一秒传入一个日期到test.log

窗口2 输入

$tail -f test.log

窗口3 输入

$rm test.log

此时窗口2 则停止打印,而test.log已经重新生成

如果采用-F的形式,也会重新生成一个新的test.log,但会自动重新读取 

收尾

tail和head是两个非常常用的命令,熟练掌握方便查看文件内容。两个很简单,也很相似,所以放在一起写出来。

《一天一个shell命令 linux文本操作系列-head,tail命令详解(每天一个linux)》来自互联网同行内容,若有侵权,请联系我们删除!

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

大智移云:变革未来商业模式的关键技术之一

大智移云是当前商业领域中的一项重要技术,它将传统商业模式转换为基于云计算和大数据的新商业模式。本文将从四个方面详细阐述大智移云的意义以及它对未来商业模式的变革影响。一、大智移云的定义和意义大智移云是一...

域名查询利器!快速查询过期域名,轻松找到你需要的域名

一、简介随着互联网的发展,域名的重要性越来越突显。合适的域名能有效提升企业形象,带来更多的商业机会。但是,好的域名并不是随随便便就能找到的,往往需要动辄数万元的投资,令许多小企业望而却步。此时,一款域...

NCBI的BLAST算法简介及应用领域探究

一、BLAST算法简介BLAST是一种用于对生物序列进行比对的算法,是近年来生物信息学领域的一大重要发明。BLAST根据“局部序列相似性”来寻找序列间的匹配点,是一种广泛使用的序列比对算法。作为生物数...

台湾网站服务器的优势有哪些

台湾网站服务器的优势有哪些稳定性强台湾网站服务器的优势之一就是其稳定性强。这得益于台湾的地缘位置,其地震、台风等自然灾害频发,因此台湾网站服务器采用了高强度的技术手段,使其能够承受各种灾害的考验,确保...

搬瓦工补货时间

搬瓦工补货时间搬瓦工是一个备受好评的VPS提供商。在过去的几个月里,由于高负载和大量的客户优先级需求,搬瓦工的服务器资源已经耗尽。这导致了网站速度缓慢、访问频繁受阻、磁盘空间紧张等问题。但是,在这种情...

网站究竟该怎么运营才能够走向成功(网站怎么样)

网站被黑客攻击,自己束手无策,当然还有就是无法坚持、无法盈利等等原因,而今天小编与大家探讨的 就是有计划有策略的去做网站。每一个行业都有着自己的规则,而今天我与大家分享的几点策略是自己这些年做站总结的...