head指令:
用于输出文件的前10行信息的内容。当输入为多个文件的时候,输出为每个文件的名字,然后跟着其前10行的内容。当没有文件或者文件名为-时,读取标准输入。可以是输出文件的前n个字节,也可以是前n行。
常用的选项如下:
-c:
使用格式为:
1. -c N
2. -c -N
1:用于输出文件的前N个字节
2:用于输出文件的除了最后的N个字节的全部字节。
-n:
使用格式为:
1. -n N
2. -n -N
1:用于输出文件的前N行
2:用于输出文件的除了最后的N行以外的全部内容
-q:
当有多个文件信息需要输出时,不输出文件名。
-v:
与-q相反,输出文件名。
tail指令:
用于输出文件的最后10行信息的内容。当输入为多个文件的时候,输出为每个文件的名字,然后跟着其前10行的内容。当没有文件或者文件名为-时,读取标准输入。tail可以用于输出文件的最后n个字节,或者是最后n行。
常用的选项如下:
--retry:
尝试着打开一个文件,尽管该文件是不可访问的或者过一段时间后不可访问了。当使用-f选项时,这个选项是特别重要的。因为可以确保迭代不会因为文件不能打开而结束。
-c:
使用格式为:
-c N
仅仅输出指定文件的最后N个字节
-f
使用格式:
-f fileName
当文件长度增长的时候,输出文件增长的部分。
-n
使用格式:
-n N
输出文件最后的N行
-F:与 --follow=name --retry等价
--pid
使用格式为:
--pid=PID
与-f配合使用,当进程标识为PID的进程结束时,终结当前的tail进程。
-q:当有多个文件输入时,不使用文件名来分割输出。
-v:与-q相反
-s:
使用格式为:
-s S
与-f同时使用,用于指定迭代间隔期间睡眠时间,默认为1s。
另外还要注意,使用-c,-n时,后面的参数N。当N前面有‘+’号时,那么tail将从N这个位置开始(可能是第N个字节或者是第N行)输出文件的所有内容。此外,N可以有单位,如b,k,m。b表示一个字节,k表示1024个字节,m表示1024*1024个字节。
使用-f选项,默认的是打开文件的描述符,所以即使文件被重命名了,tail仍然能够追踪到。如果不想这项,可以使用 --follow=name。这种方式下,tail每次读取文件时都会重新打开文件,读取完毕后关闭文件。
本文转自hipercomer 51CTO博客,原文链接:http://blog.51cto.com/hipercomer/824608