tail命令學習例項

夢共裡醉發表於2021-01-06
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行列印到標準輸出。對於多個檔案,在每個檔案前面加上一個給出檔名的頭。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524109/viewspace-2748027/,如需轉載,請註明出處,否則將追究法律責任。

相關文章