关于运维:tail命令学习实例

12次阅读

共计 1999 个字符,预计需要花费 5 分钟才能阅读完成。

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

如何显示指定的行数

应用 -n 命令显示指定的行数,也能够省略字母 n,只应用- 和数字 (数字和- 之间没有空格)。

例如:查看本人创立的用户,查看 /etc/passwd 文件最初两行内容:

[root@localhost ~]# tail -2 /etc/passwd
bob1000:1001::/home/bob:/bin/bash
user011001:1002::/home/user01:/bin/bash

如何实时监控文件的更改

如果须要监督文件内容的更改,应用 -f 选项。这个选项对于监督日志文件十分有用。例如,要显示 /var/log/nginx/error.log 文件的最初 10 行,并监督文件的更新:

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


想要退出,请按 Ctrl+C 退出。

查看多个文件

如果提供了多个文件作为 tail 命令的输出,它将显示每个文件的最初十行。上面例子,应用 tail 命令显示 /etc/passwd/etc/shadow文件的最初两行内容:

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

==> /etc/shadow <==
bob:!!:18333:0:99999:7:::
user01:$6$qPoy4v75$jzkBdrR.1L5G1sIs34GXRWa43fej.CLgaWKO9WRGkYcrUSVmVBGfcmOjn1Kc8FgcwVv2abac7t/m3crt2Vu8G.:18335:0:99999:7:::

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”

总结

tail 命令将每个文件的最初 10 行打印到规范输入。对于多个文件,在每个文件后面加上一个给出文件名的头。

正文完
 0