tail命令学习实例-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

tail命令学习实例

简介: tail命令学习实例

tail命令将每个文件的最后10行打印到标准输出。对于多个文件,在每个文件前面加上一个给出文件名的头。如果没有文件,或者文件为-,则读取标准输入。
如何使用tail命令
使用tail命令查看yum.log日志文件,显示最后10行内容,tail默认显示问价你的最后10行内容:

[root@localhost ~]# tail /var/log/yum.log
May 26 15:22:08 Installed: pytalloc-2.1.16-1.el7.x86_64
May 26 15:22:08 Updated: libwbclient-4.10.4-11.el7_8.x86_64
May 26 15:22:08 Installed: samba-libs-4.10.4-11.el7_8.x86_64
May 26 15:22:08 Updated: samba-common-libs-4.10.4-11.el7_8.x86_64
May 26 15:22:08 Updated: samba-client-libs-4.10.4-11.el7_8.x86_64
May 26 15:22:08 Updated: libsmbclient-4.10.4-11.el7_8.x86_64
May 26 15:22:08 Installed: libarchive-3.1.2-14.el7_7.x86_64
May 26 15:22:09 Installed: samba-client-4.10.4-11.el7_8.x86_64
May 26 17:22:44 Installed: lm_sensors-libs-3.4.0-8.20160601gitf9185e5.el7.x86_64
May 26 17:22:44 Installed: sysstat-10.1.5-19.el7.x86_64
Linux中tail命令实例Linux中tail命令实例

如何显示指定的行数
使用-n命令显示指定的行数,也可以省略字母n,只使用-和数字(数字和-之间没有空格)。

例如:查看自己创建的用户,查看/etc/passwd文件最后两行内容:

[root@localhost ~]# tail -2 /etc/passwd
bob:x:1000:1001::/home/bob:/bin/bash
user01:x:1001:1002::/home/user01:/bin/bash
Linux中tail命令实例Linux中tail命令实例

如何实时监控文件的更改
如果需要监视文件内容的更改,使用-f选项。这个选项对于监视日志文件非常有用。例如,要显示/var/log/nginx/error.log文件的最后10行,并监视文件的更新:

[root@localhost ~]# tail -f /var/log/messages
Linux中tail命令实例Linux中tail命令实例
想要退出,请按Ctrl+C退出。

查看多个文件
如果提供了多个文件作为tail命令的输入,它将显示每个文件的最后十行。下面例子,使用tail命令显示/etc/passwd和/etc/shadow文件的最后两行内容:

[root@localhost ~]# tail -n 2 /etc/passwd /etc/shadow
==> /etc/passwd <==
bob:x:1000:1001::/home/bob:/bin/bash
user01:x:1001:1002::/home/user01:/bin/bash

==> /etc/shadow <==
bob:!!:18333:0:99999:7:::
user01:$6$qPoy4v75$jzkBdrR.1L5G1sIs34GXRWa43fej.CLgaWKO9WRGkYcrUSVmVBGfcmOjn1Kc8FgcwVv2abac7t/m3crt2Vu8G.:18335:0:99999:7:::
Linux中tail命令实例Linux中tail命令实例

tail命令和其他命令一起使用
例如,要实时监视apache访问日志文件并显示包含IP地址192.168.43.157的行,可以使用:

[root@localhost ~]# tail -f /var/log/httpd/access_log |grep 192.168.43.157
192.168.43.157 - - [28/May/2020:14:56:31 +0800] "GET / HTTP/1.1" 403 4897 "-" "curl/7.29.0"
192.168.43.157 - - [28/May/2020:14:56:41 +0800] "GET / HTTP/1.1" 403 4897 "-" "curl/7.29.0"
192.168.43.157 - - [28/May/2020:14:56:41 +0800] "GET / HTTP/1.1" 403 4897 "-" "curl/7.29.0"
192.168.43.157 - - [28/May/2020:14:56:41 +0800] "GET / HTTP/1.1" 403 4897 "-" "curl/7.29.0"
Linux中tail命令实例Linux中tail命令实例

总结
tail命令将每个文件的最后10行打印到标准输出。对于多个文件,在每个文件前面加上一个给出文件名的头。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章