重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
tail -f 日志文件路徑主要用于查看實時的日志記錄,屬于動態記錄查看。
創新互聯業務包括:成品網站、企業產品展示型網站建設、高端網站設計、電子商務型網站建設、成都外貿網站建設(多語言)、商城網站定制開發、按需網站建設、營銷型網站等。效率優先,品質保證,用心服務是我們的核心價值觀,我們將繼續以良好的信譽為基礎,秉承穩固與發展、求實與創新的精神,為客戶提供更全面、更優質的互聯網服務!
cat日志路徑主要用于查看靜態的歷史日志記錄,一般跟路徑名稱,常見的這周類型的日志記錄一般用管道符進行過濾篩選自己所需的記錄。
dmesg主要用于調試腳本或者命令,出現異常中斷來排查錯誤原因顯示的。
tail? -n? 10? test.log,查詢日志尾部最后10行的日志。
tail -n +10 test.log,查詢10行之后的所有日志。
head -n 10? test.log,查詢日志文件中的頭10行日志。
head -n -10? test.log,查詢日志文件除了最后10行的其他所有日志。
操作命令
首先介紹一個名詞“控制臺(console)”,它就是我們通常見到的使用字符操作界面的人機接口,例如dos。我們說控制臺命令,就是指通過字符界面輸入的可以操作系統的命令。
例如dos命令就是控制臺命令。要了解的是基于Linux操作系統的基本控制臺命令。有一點一定要注意,和dos命令不同的是,Linux的命令(也包括文件名等等)對大小寫是敏感的,也就是說,如果你輸入的命令大小寫不對的話,系統是不會做出你期望的響應的。
last
-a 把從何處登入系統的主機名稱或ip地址,顯示在最后一行。
-d 指定記錄文件。指定記錄文件。將IP地址轉換成主機名稱。
-f 記錄文件 指定記錄文件。
-n 顯示列數或-顯示列數 設置列出名單的顯示列數。
-R 不顯示登入系統的主機名稱或IP地址。
-x 顯示系統關機,重新開機,以及執行等級的改變等信息
以下看所有的重啟、關機記錄
last | grep reboot
last | grep shutdown
history
列出所有的歷史記錄:
[zzs@Linux] # history
只列出最近10條記錄:
[zzs@linux] # history 10 (注,history和10中間有空格)
使用命令記錄號碼執行命令,執行歷史清單中的第99條命令
[zzs@linux] #!99 (!和99中間沒有空格)
重復執行上一個命令
[zzs@linux] #!!
執行最后一次以rpm開頭的'命令(!? ?代表的是字符串,這個String可以隨便輸,Shell會從最后一條歷史命令向前搜索,最先匹配的一條命令將會得到執行。)
[zzs@linux] #!rpm
逐屏列出所有的歷史記錄:
[zzs@linux]# history | more
立即清空history當前所有歷史命令的記錄
[zzs@linux] #history -c
cat, tail 和 watch
系統所有的日志都在 /var/log 下面自己看(具體用途可以自己查,附錄列出一些常用的日志)
cat /var/log/syslog 等
cat /var/log/*.log
tail -f
如果日志在更新,如何實時查看 tail -f /var/log/messages
還可以使用 watch -d -n 1 cat /var/log/messages
-d表示高亮不同的地方,-n表示多少秒刷新一次。
該指令,不會直接返回命令行,而是實時打印日志文件中新增加的內容,
這一特性,對于查看日志是非常有效的。如果想終止輸出,按 Ctrl+C 即可。
除此之外還有more, less ,dmesg|more,這里就不作一一列舉了,因為命令太多了,關鍵看個人喜好和業務需求.個人常用的就是以上那些
linux日志文件說明
/var/log/message 系統啟動后的信息和錯誤日志,是Red Hat Linux中最常用的日志之一
/var/log/secure 與安全相關的日志信息
/var/log/maillog 與郵件相關的日志信息
/var/log/cron 與定時任務相關的日志信息
/var/log/spooler 與UUCP和news設備相關的日志信息
/var/log/boot.log 守護進程啟動和停止相關的日志消息
/var/log/wtmp 該日志文件永久記錄每個用戶登錄、注銷及系統的啟動、停機的事件
進入日志保存目錄cd/var/log查看都有哪些日志文件ls查看文件sudocat文件名。
linux日志中查找文件名,在某目錄下查找名為“elm.cc”的文件。查找文件名中包含某字符(如"elm")的文件。
linux查看日志命令:
tail:
-n是顯示行號;相當于nl命令;例子如下:
tail -100f test.log實時監控100行日志。
tail -n 10 test.log查詢日志尾部最后10行的日志。
tail -n +10 test.log查詢10行之后的所有日志。
head:
跟tail是相反的,tail是看后多少行日志;例子如下:
head -n 10 test.log查詢日志文件中的頭10行日志。
head -n -10 test.log查詢日志文件除了最后10行的其他所有日志。
cat:
tac是倒序查看,是cat單詞反寫;例子如下:
cat -n test.log |grep "debug"查詢關鍵字的日志。
命令功能:
tail用于顯示指定文件末尾內容,不指定文件時,作為輸入信息進行處理。常用于查看日志文件后多少行日志信息。
使用tail -f可以查看動態日志文件,tail -f filename可以把filename里最尾部的內容顯示在屏幕上,并且不斷刷新,使你看到最新的文件內容。
tail -n行數可以顯示指定行數信息。
方法/步驟
先必須了解兩個最基本的命令:
tail? -n? 10? test.log ? 查詢日志尾部最后10行的日志;
tail -n +10 test.log??? 查詢10行之后的所有日志;
head -n 10? test.log ? 查詢日志文件中的頭10行日志;
head -n -10? test.log ? 查詢日志文件除了最后10行的其他所有日志;
場景1: 按行號查看---過濾出關鍵字附近的日志
因為通常時候我們用grep拿到的日志很少,我們需要查看附近的日志.
我是這樣做的,首先: cat -n test.log |grep "地形"? 得到關鍵日志的行號
3得到"地形"關鍵字所在的行號是102行. 此時如果我想查看這個關鍵字前10行和后10行的日志:
cat -n test.log |tail -n +92|head -n 20
tail -n +92表示查詢92行之后的日志
head -n 20 則表示在前面的查詢結果里再查前20條記錄
場景2:那么按日期怎么查呢?? 通常我們非常需要查找指定時間端的日志
sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p'? test.log
特別說明:上面的兩個日期必須是日志中打印出來的日志,否則無效.
關于日期打印,可以先 grep '2014-12-17 16:17:20' test.log 來確定日志中是否有該時間點,以確保第4步可以拿到日志
這個根據時間段查詢日志是非常有用的命令.
如果我們查找的日志很多,打印在屏幕上不方便查看, 有兩個方法:
(1)使用more和less命令, 如: cat -n test.log |grep "地形" |more???? 這樣就分頁打印了,通過點擊空格鍵翻頁
(2)使用 xxx.txt 將其保存到文件中,到時可以拉下這個文件分析.如:
cat -n test.log |grep "地形"? xxx.txt
這幾個日志查看方法應該可以滿足日常需求了.
1. 前言
在Linux日常管理中,我們肯定有查看某些服務的日志需求,或者是系統本身的日志。本文主要介紹如何查看Linux的系統日志,包括文件的路徑、工具的使用等等。會看Linux日志是非常重要的,不僅在日常操作中可以迅速排錯,也可以快速的定位。
2. 如何查看Linux日志
Linux日志文件的路徑一般位于,/var/log/,比如ngix的日志路徑為/var/log/nginx/,如果要查看某服務的日志,還可以使用systemctl status xxx,比如查看ssh服務的壯態,systemctl status sshd
查看Linux某服務的日志
Liunx的配置文件在/etc/rsyslog.d里,可以看到如下信息
在linux系統當中,有三個主要的日志子系統:
1、連接時間日志:由多個程序執行,把記錄寫入到/var/log/wtmp和/var/run/utmp,
login等程序會更新wtmp和utmp文件,使系統管理員能夠跟蹤誰在何時登錄到系統。
2、進程統計:由系統內核執行,當一個進程終止時,為每個進程往進程統計文件中寫一個記錄。進程統計的目的是為系統中的基本服務提供命令使用統計
3、錯誤日志:由rsyslogd守護程序執行,各種系統守護進程、用戶程序和內核通過rsyslogd守護程序向文件/var/log/messages報告值得注意的時間。另外有許多linux程序創建日志,像HTTP和FTP這樣提供的服務器也保持詳細的日志。
4、其他日志……
查看Linux日志默認路徑
可以看到在/var/log目錄下存在很多的日志文件,接下來就對里面的一些常用日志文件進行分析
主要日志文件介紹:
內核及公共消息日志:/var/log/messages
計劃任務日志:/var/log/cron
系統引導日志:/var/log/dmesg
郵件系統日志:/var/log/maillog
用戶登錄日志:/var/log/lastlog
/var/log/boot.log(記錄系統在引導過程中發生的時間)
/var/log/secure (用戶驗證相關的安全性事件)
/var/log/wtmp(當前登錄用戶詳細信息)
/var/log/btmp(記錄失敗的的記錄)
/var/run/utmp(用戶登錄、注銷及系統開、關等事件)
日志文件詳細介紹:
/var/log/secure
Linux系統安全日志,記錄用戶和工作組的情況、用戶登陸認證情況
例子:我創建了一個zcwyou的用戶,然后改變了該用戶的密碼,于是該信息就被記錄到該日志下
Linux系統安全日志默認路徑
該日志就詳細的記錄了我操作的過程。
內核及公共信息日志,是許多進程日志文件的匯總,從該文件中可以看出系統任何變化
查看Linux內核及公共信息日志
系統引導日志
該日志使用dmesg命令快速查看最后一次系統引導的引導日志
查看Linux系統系統引導日志
最近的用戶登錄事件,一般記錄最后一次的登錄事件
該日志不能用諸如cat、tail等查看,因為該日志里面是二進制文件,可以用lastlog命令查看,它根據UID排序顯示登錄名、端口號(tty)和上次登錄時間。如果一個用戶從未登錄過,lastlog顯示 Never logged。
該日志文件永久記錄每個用戶登錄、注銷及系統的啟動、停機的事件。該日志為二進制文件,不能用諸如tail/cat/等命令,使用last命令查看。
記錄郵件的收發
此文件是記錄錯誤登錄的日志,可以記錄有人使用暴力破解ssh服務的日志。該文件用lastb打開
該日志記錄當前用戶登錄的情況,不會永久保存記錄。可以用who/w命令來查看
3. 常用的日志分析工具與使用方法
3.1 統計一個文本中包含字符個數
3.2 查看當天訪問排行前10的url
3.3 查看apache的進程數
3.4 訪問量前10的IP
cut部分表示取第1列即IP列,取第4列則為URL的訪問量
3.5 查看最耗時的頁面
按第2列響應時間逆序排序
3.6 使用grep查找文件中指定字符出現的次數
-o 指示grep顯示所有匹配的地方,并且每一個匹配單獨一行輸出。這樣只要統計輸出的行數就可以知道這個字符出現的次數了。
4. 總結
查看Linux日志需求了解和熟悉使用一些常用的工具方能提升我們的查找和定位效率。比如使用 Grep 搜索,使用Tail命令,使用Cut,使用AWK 和 Grok 解析日志和使用 Rsyslog 和 AWK 過濾等等,只要能掌握這些工具。我們才能高效地處理和定位故障點。