tail命令和head命令

来源:互联网 发布:08年奥运会投资 知乎 编辑:程序博客网 时间:2024/05/29 14:13

 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可以有单位,如bkmb表示一个字节,k表示1024个字节,m表示1024*1024个字节。

使用-f选项,默认的是打开文件的描述符,所以即使文件被重命名了,tail仍然能够追踪到。如果不想这项,可以使用 --follow=name。这种方式下,tail每次读取文件时都会重新打开文件,读取完毕后关闭文件。

本文出自 “相信并热爱着” 博客,请务必保留此出处http://hipercomer.blog.51cto.com/4415661/824608