• L18.linux命令每日一练 -- 第三章 文件过滤及内容编辑处理命令 -- head和tail命令


    3.5 head:显示文件头部内容

    3.5.1 命令详解

    【命令星级】 ★★★★★

    【功能说明】

    ​ head命令用于显示文件头部的内容,执行head命令默认会输出文件的开头10行内容。

    【语法格式】

    head [option] [file]
    head [选项] [文件]
    
    • 1
    • 2

    【选项说明】

    ​ 表3-8针对head命令的参数选项进行了说明。

    ​ 表3-8 head命令的参数选项及说明

    在这里插入图片描述

    3.5.2 使用范例

    ​ **范例3-21:**显示文件的前10行。

    [root@centos7 ~]# head /etc/passwd	#head命令不接任何参数默认显示文件的前10行。
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    sync:x:5:0:sync:/sbin:/bin/sync
    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    halt:x:7:0:halt:/sbin:/sbin/halt
    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    operator:x:11:0:operator:/root:/sbin/nologin
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    ​ **范例3-22:**显示文件的前5行。

    [root@centos7 ~]# head -n 5 /etc/passwd	#第一种格式指定显示前5行
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    [root@centos7 ~]# head -5 /etc/passwd	#第二种格式也是指定显示前5行,但是这种写法更精简。
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    ​ **范例3-23:**显示文件的前n个字节。

    [root@centos7 ~]# head -c 10 /etc/passwd	#读取文件的前10个字节。前面的写法是以行为单位的,而-c则是以字节为单位的。该功能不常用。
    root:x:0:0
    
    • 1
    • 2

    ​ **范例3-24:**打印文件除最后21行之外的内容。

    [root@centos7 ~]# head -n -21 /etc/passwd	#最后21行不输出,这种写法也不常用。
    root:x:0:0:root:/root:/bin/bash
    
    • 1
    • 2

    ​ **范例3-25:**显示多个文件。

    [root@centos7 ~]# head -1 /etc/passwd /etc/gshadow	#显示多个文件头部内容。
    ==> /etc/passwd <==		#文件头。
    root:x:0:0:root:/root:/bin/bash
    
    ==> /etc/gshadow <==
    root:::
    [root@centos7 ~]# head -qn 1 /etc/passwd 	@-q参数不显示文件头。	/etc/gshadow
    root:x:0:0:root:/root:/bin/bash
    root:::
    [root@centos7 ~]# head -vn 1 /etc/passwd /etc/gshadow	#-v参数总是显示文件头。
    ==> /etc/passwd <==
    root:x:0:0:root:/root:/bin/bash
    
    ==> /etc/gshadow <==
    root:::
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    3.6 tail:显示文件内容尾部

    3.6.1 命令详解

    【命令星级】 ★★★★★

    【功能说明】

    ​ tail命令用于显示文件尾部的内容,tail命令默认输出文件的最后10行。

    【语法格式】

    tail [option] [file]
    tail [选项] [文件]
    
    • 1
    • 2

    【选项说明】

    ​ 表3-9针对tail命令的参数选项进行了说明。

    ​ 表3-9 tail命令的参数选项及说明

    在这里插入图片描述

    3.6.2 使用范例

    ​ **范例3-26:**显示文件最后10行的示例。

    [root@centos7 ~]# tail /etc/passwd	#tail命令不接参数,默认显示最后10行。
    nobody:x:99:99:Nobody:/:/sbin/nologin
    systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
    dbus:x:81:81:System message bus:/:/sbin/nologin
    polkitd:x:999:998:User for polkitd:/:/sbin/nologin
    tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
    abrt:x:173:173::/etc/abrt:/sbin/nologin
    sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
    postfix:x:89:89::/var/spool/postfix:/sbin/nologin
    oldboy:x:1000:1000:oldboy:/home/oldboy:/bin/bash
    tcpdump:x:72:72::/:/sbin/nologin
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    ​ **范例3-27:**使用tail命令显示文件末尾5行内容。

    [root@centos7 ~]# tail -n 5 /etc/passwd	#第一种写法。
    abrt:x:173:173::/etc/abrt:/sbin/nologin
    sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
    postfix:x:89:89::/var/spool/postfix:/sbin/nologin
    oldboy:x:1000:1000:oldboy:/home/oldboy:/bin/bash
    tcpdump:x:72:72::/:/sbin/nologin
    [root@centos7 ~]# tail -5 /etc/passwd	#第二种写法,这种写法简单。
    abrt:x:173:173::/etc/abrt:/sbin/nologin
    sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
    postfix:x:89:89::/var/spool/postfix:/sbin/nologin
    oldboy:x:1000:1000:oldboy:/home/oldboy:/bin/bash
    tcpdump:x:72:72::/:/sbin/nologin
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    ​ **范例3-28:**通过tail命令从第15行开始显示文件

    [root@centos7 ~]# tail -n +5 /etc/passwd	#拓展用法,但不常用。
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    sync:x:5:0:sync:/sbin:/bin/sync
    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    halt:x:7:0:halt:/sbin:/sbin/halt
    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    operator:x:11:0:operator:/root:/sbin/nologin
    games:x:12:100:games:/usr/games:/sbin/nologin
    ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    nobody:x:99:99:Nobody:/:/sbin/nologin
    systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
    dbus:x:81:81:System message bus:/:/sbin/nologin
    polkitd:x:999:998:User for polkitd:/:/sbin/nologin
    tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
    abrt:x:173:173::/etc/abrt:/sbin/nologin
    sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
    postfix:x:89:89::/var/spool/postfix:/sbin/nologin
    oldboy:x:1000:1000:oldboy:/home/oldboy:/bin/bash
    tcpdump:x:72:72::/:/sbin/nologin
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    ​ **范例3-29:**通过tail命令实时监控文件的变化。

    [root@centos7 ~]# tail -f test.txt #tail -f实时监控文件的变化,在生产中常用的场景是监控日志文件。
    welcome to Linux
    
    if you like Linux please support me
    
    
    
    bye! boys and girls
    #光标会停在此处
    
    #新开一个终端
    [root@centos7 ~]# echo 'tail -f jiankong' >> test.txt	#往test.txt文件里追加内容。
    
    [root@centos7 ~]# tail -f test.txt 
    welcome to Linux
    
    if you like Linux please support me
    
    
    
    bye! boys and girls
    tail -f jiankong #新加的内容会,实时显示。
    ^C	#Ctrl+c结束
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    ​ **范例3-30:**参数-F的使用。

    [root@centos7 ~]# tail -f neteagle	#使用-f参数,当文件不存在时就会报错并退出命令。
    tail: cannot open ‘neteagle’ for reading: No such file or directory
    tail: no files remaining
    [root@centos7 ~]# tail -F neteagle	#使用-F参数,当文件不存在时会返回报错,但是还会一直等待文件生成,不会退出命令。
    tail: cannot open ‘neteagle’ for reading: No such file or directory
    
    #新开一个终端生成这个文件
    [root@centos7 ~]# echo neteagle test>>neteagle
    
    [root@centos7 ~]# tail -F neteagle
    tail: cannot open ‘neteagle’ for reading: No such file or directory
    tail: ‘neteagle’ has appeared;  following end of new file
    neteagle test	#这时会显示刚才生成文件的内容。
    ^C
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
  • 相关阅读:
    利用labelme制作自己的coco数据集(labelme转coco数据集)
    网络基础知识100问!答完秒变网络高手,你能答对多少题?
    SpringSecurity原理解析(五):HttpSecurity 类处理流程
    java计算机毕业设计Web好好吃查询系统源码+mysql数据库+系统+lw文档+部署
    使用 Aspect 更快地构建 React 可重用组件
    配电房智能化改造
    CPDA|数据分析师成长之路如何起步?
    【数据分享】成都市出租车GPS数据~
    分布式与一致性协议之PBFT算法(一)
    前端URL拼接路径参数
  • 原文地址:https://blog.csdn.net/qq_25599925/article/details/125356910