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 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。
解读:
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是两个非常常用的命令,熟练掌握方便查看文件内容。两个很简单,也很相似,所以放在一起写出来。