当前位置:主页 > 脚本语言 > Shell >

Linux 命令head和tail常见用法详解

时间:2021-02-11 11:21:34 | 栏目:Shell | 点击:

 head和tail是一组想对应的命令,默认分别显示文件的开头和末尾10行记录。

head

head 命令可以将一段文本的开头一部分输出到标准输出。

head命令既可以处理文本文件也可以处理标准输入。

基本应用

处理文本文件:

head input.txt

当有多个文件输入时,head会顺序处理并输出:

head input1.txt input2.txt

处理标准输入:

ls | head

 当没有其他参数时,head默认输出前10行,当然,head有各种参数。

可选参数

-n: 输出的行数

例如,如果想输出前25行,下面三个命令是等价的:

head -n25 input.txt
head -n     25 input.txt
head -25 input.txt

可以看出,-n后面有没有空格都可以,有几个空格都可以,甚至-n本身都可以省略。

-n 后面也可以跟负数,例如:

head -n -5 input.txt

此命令表示输出input.txt除了后5行以外的全部内容。

-c: 输出的字节数

head -c 5 input.txt    # 5 bytes 
head -c -5b input.txt    # 5*512
head -c5k input.txt    # 5*1024
head -c 5m input.txt    #5*1048576

-c 没有默认值,所以后面必须跟数值。可以是负数,表示输出除了后N个字节以外的内容。

tail

将一段文本的结尾一部分输出到标准输出,也就是从某个节点位置开始输出。

基本用法

tail的参数基本用法和head完全一样,在此不作赘述。

只有一点需要注意,如果想表达从第N(比如25)行开始输出,要使用加号:

tail -n +25 input.txt

tail +5c input.txt    #从第5个字节开始打印

常见用法

tail 有一个常见的用法:用来实时查看一个不断更新的log file。例如后台有一个logfile.txt不断更新,我们可以用下面的命令将更新内容打印在屏幕上:

tai -f logfile.txt

-f: 循环读取

总结

您可能感兴趣的文章:

相关文章