Linux管理文件命令-tail查看文件结尾的内容

时间:2023-02-13 22:59:46

前言

        前面有学习了查看文件开头的内容,那么自然就会有查看结尾的内容,这个命令不仅可以作为查看结尾的内容,还可实时查看文件更新的状态等信息,让我们一起来看看这个命令的使用吧。

一、命令的介绍

        tail命令的功能是用于查看文件尾部的内容,例如会默认显示指定文件的末尾十行,如果指定了多个文件,则会在显示的每个文件内容前面加上文件名加以区分。

        当然也有其他的用法,-f参数作用可以持续显示文件的末尾最近的内容,类似于机场候机厅的大屏幕,总会把最新的消息展示给用户,对阅读日志文件尤为适合,而不需要手动去刷新文件。

二、命令的语法及参数

还是一样通过man或者help先提前查看命令的语法和参数信息

用法:tail [选项]... [文件]...

Linux管理文件命令-tail查看文件结尾的内容

1)语法格式

        tail 【选项】 文件  

2)常用的参数

-c

输出文件尾部的N(N为整数)个字节内容

-f

持续显示文件最新追加的内容

-F <N>

与选项“-follow=name”和“--retry”连用时功能相同

-n <N>

输出文件的尾部N(N位数字)行内容

--retry

即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。

--pid=<进程号>

与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令

--help

显示指令的帮助信息

--version

显示指令的版本信息

三、参考实例

        3.1 显示文件尾部的后10行内容

[root@localhost ~]# tail passwd
.....#省略几行信息
user1:x:1001:1001::/home/user1:/bin/bash
grafana:x:988:982:grafana user:/usr/share/grafana:/sbin/nologin

Linux管理文件命令-tail查看文件结尾的内容

        3.2 指定显示文件尾部的后3行内容

[root@localhost ~]# tail -n 3 passwd
ntp:x:38:38::/etc/ntp:/sbin/nologin
user1:x:1001:1001::/home/user1:/bin/bash
grafana:x:988:982:grafana user:/usr/share/grafana:/sbin/nologin

Linux管理文件命令-tail查看文件结尾的内容

        3.3 显示文件尾部的后20个字节内容

[root@localhost ~]# tail -c 20 passwd
afana:/sbin/nologin

Linux管理文件命令-tail查看文件结尾的内容

         3.4 从100个字节开始到结尾

[root@localhost ~]# tail -c +100 /etc/passwd
login
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

         3.5 从第40行到结尾

[root@localhost ~]# tail -n +40 /etc/passwd
gnome-initial-setup:x:989:983::/run/gnome-initial-setup/:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
user1:x:1001:1001::/home/user1:/bin/bash
grafana:x:988:982:grafana user:/usr/share/grafana:/sbin/nologin
user2:x:1002:1002::/home/user2:/sbin/nologin

        3.6 持续刷新文件尾部的后十行内容

[root@localhost ~]# tail -f /var/log/messages

        3.7  tail -f、tail -F、tailf三者的区别

        tail -f
        等同于–follow=descriptor;常用于日志内容的跟踪,根据文件描述符进行追踪,当文件改名或被删除,追踪停止。

        tail -F
        等同于–follow=name --retry;根据文件名进行追踪,并保持重试,即该文件被删除或改名后,如果再次创建相同的文件名,会继续追踪。

        tailf
        等同于tail -f -n 10 ;与tail -f不同的是,如果文件不增长,它不会去访问磁盘文件。

总结

        tail的用法也是特别容易理解的,既是显示文件末尾的内容,在参数上和head是有一些相似之处的,同样-n参数是用的较多的,还有-f参数平时偶尔也有用到。