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 bob:x:1000:1001::/home/bob:/bin/bash user01:x:1001: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 <== 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:::
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行打印到標準輸出。對於多個文件,在每個文件前面加上一個給出文件名的頭。