• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >linux shell > 一天一个shell命令 linux文本操作系列-head,tail命令详解

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

作者:mdxy-dxy 字体:[增加 减小] 来源:互联网

mdxy-dxy 通过本文主要向大家介绍了shell tail,linux head tail,shell head,linux shell脚本,linux shell等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

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 同样适用。
</div>

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 定期追踪打开给定名称的文件,以确认它是否被删除或被其它某些程序重新创建过。
</div>

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内容

</div>

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 同样适用。
</div>

解读:

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

$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 style="color: #000000">-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。
</div>

解读:

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 shell实现获取用户输入指定范围的单个字符的两种方法
  • Shell脚本中的位置变量参数(特殊字符)实例讲解
  • shell版Nginx日志蜘蛛爬取查看脚本
  • 用shell命令读取与输出数据的代码
  • linux shell txt转换成html的实现代码
  • 一个shell for循环与case结合的脚本(监控程序状态)
  • Shell脚本自动备份MySQL到FTP并定期清理过期备份
  • Linux shell脚本编程if语句的使用方法(条件判断)
  • 对用户输入的判断的shell实现代码
  • Shell脚本中实现把输入的密码转换为*(星号)的方法

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Linux下实现SSH免密码登录和实现秘钥的管理、分发、部署SHELL脚本分享
    • Shell脚本中实现切换用户并执行命令操作
    • Log4j 日志文件Linux/Mac/Windows通用存放位置设置方法
    • linux中shell脚本实现下载完关机
    • Linux Shell脚本系列教程(六):数组和关联数组
    • Shell脚本去重的几种方法实例
    • Linux Shell脚本查看NUMA信息
    • linux查看所有用户和查看用户组的方法(修改用户组)
    • Linux CLI操作常用快捷键总结
    • shell 使用数组作为函数参数的方法(详解)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有