linux命令日誌
1. 查看linux系統日誌的命令
Linux系統日誌文件存放在/var/log下
/var/log/cron 記錄了系統定時任務相關的日誌;
/var/log/cups 記錄列印信息的日誌;
/var/log/dmesg 記錄了系統在開機時內核自檢的信息,也可以使用dmesg命令直接查看內核自檢信息。
/var/log/btmp 記錄錯誤登錄的日誌,這個文件是二進制文件,不能直接vi查看,而要使用lastb命令查看;
/var/log/lastlog 記錄系統中所有用戶最後一次的登錄時間的日誌。這個文件也是二進制文件,不能直接vi,而要使用lastlog命令查看。
/var/log/mailog 記錄郵件信息;
/var/log/message 記錄系統重要信息的日誌,記錄Linux系統的絕大多數重要信息,如果系統出現問題,首先要檢查的就是應該是這個日誌文件;
/var/log/secure 記錄驗證和授權方面的信息,只要涉及賬戶和密碼的程序都會記錄。比如說系統的登錄,ssh的登錄,su切換用戶,sudo授權,甚至添加用戶和修改用戶密碼;
/var/log/wtmp 永久記錄所有用戶的登錄、注銷信息,同時記錄系統的啟動、重啟、關機事件。同樣這個文件也是一個二進制文件不能直接vi而需要使用last命令來查看;
/var/run/utmp 記錄當前已經登錄的用戶的信息。這個文件會隨著用戶的登錄和注銷而不斷變化,只記錄當前登錄用戶的信息,同樣這個文件不能直接vi,要使用w,who,users等命令;
2. linux查看日誌的命令是具體怎麼用
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的命令(也包括文件名等等)對大小寫是敏感的,也就是說,如果你輸入的命令大小寫不對的話,系統是不會做出你期望的響應的。
3. 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 該日誌文件永久記錄每個用戶登錄、注銷及系統的啟動、停機的事件
4. Linux如何通過命令查看日誌文件的某幾行(中間幾行或最後幾行)
【一】從第3000行開始,顯示1000行。即顯示3000~3999行
cat filename | tail -n +3000 | head -n 1000
【二】顯示1000行到3000行
cat filename| head -n 3000 | tail -n +1000
*注意兩種方法的順序
分解:
tail -n 1000:顯示最後1000行
tail -n +1000:從1000行開始顯示,顯示1000行以後的
head -n 1000:顯示前面1000行
【三】用sed命令
sed -n Ƌ,10p' filename 這樣你就可以只查看文件的第5行到第10行。
Linux統計文件行數
語法:wc [選項] 文件…
說明:該命令統計給定文件中的位元組數、字數、行數。如果沒有給出文件名,則從標准輸入讀取。wc同時也給出所有指定文件的總統計數。字是由空格字元區分開的最大字元串。
該命令各選項含義如下:
- c 統計位元組數。
- l 統計行數。
- w 統計字數。
這些選項可以組合使用。
輸出列的順序和數目不受選項的順序和數目的影響。
總是按下述順序顯示並且每項最多一列。
行數、字數、位元組數、文件名
如果命令行中沒有文件名,則輸出中不出現文件名。
例如:
$ wc - lcw file1 file2
4 33 file1
7 52 file2
11 11 85 total
舉例分析:
1.統計demo目錄下,js文件數量:
find demo/ -name "*.js" |wc -l
2.統計demo目錄下所有js文件代碼行數:
find demo/ -name "*.js" |xargs cat|wc -l 或 wc -l `find ./ -name "*.js"`|tail -n1
3.統計demo目錄下所有js文件代碼行數,過濾了空行:
find /demo -name "*.js" |xargs cat|grep -v ^$|wc -l
5. linux中怎樣查看日誌
方法/步驟
先必須了解兩個最基本的命令:
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
這幾個日誌查看方法應該可以滿足日常需求了.
6. Linux運維知識:從命令行如何查看Linux日誌
1.查看日誌常用命令
(1)tail:
-n 是顯示行號;相當於nl命令;例子如下:
tail -100f test.log 實時監控100行日誌
tail -n 10 test.log 查詢日誌尾部最後10行的日誌;
tail -n +10 test.log 查詢10行之後的所有日誌;
(2)head:
跟tail是相反的,tail是看後多少行日誌;例子如下:
head -n 10 test.log 查詢日誌文件中的頭10行日誌;
head -n -10 test.log 查詢日誌文件除了最後10行的其他所有日誌;
(3)cat:
tac是倒序查看,是cat單詞反寫;例子如下:
cat -n test.log |grep "debug" 查詢關鍵字的日誌
2. 應用場景一:按行號查看---過濾出關鍵字附近的日誌
(1)cat -n test.log |grep "debug" 得到關鍵日誌的行號
(2)cat -n test.log |tail -n +92|head -n 20 選擇關鍵字所在的中間一行. 然後查看這個關鍵字前10行和後10行的日誌:
tail -n +92表示查詢92行之後的日誌
head -n 20 則表示在前面的查詢結果里再查前20條記錄
3. 應用場景二:根據日期查詢日誌
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 "debug" |more 這樣就分頁列印了,通過點擊空格鍵翻頁
(2)使用 >xxx.txt 將其保存到文件中,到時可以拉下這個文件分析
如:cat -n test.log |grep "debug" >debug.txt
7. Linux伺服器查看日誌的幾種方法
1、進入日誌文件所在的文件目錄,比如:
cd /opt/tomcat7/logs
2、通過命令打開日誌,分析需求場景打開需要的日誌
比如:
tail -f catalina.out
3、常用命令一:tail
比如:
tail -f test.log (循環查看文件內容)
4、按照行號查詢:cat(過濾出關鍵字附近的日誌)
cat -n test.log |grep "訂單號"
然後使用 head -n 20 查看查詢結果里的向前20條記錄
5、按照時間日期查詢,(查詢出一段時間內的記錄)
sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p' test.log
查看該段時間內的日誌
但是前提是用方法4試一下查詢的哪個其實時間是不是存在
8. 如何查看linux命令日誌文件
輸入history
history
如果你是要查你所輸入的命令歷史所保存的文件
在所使用命令的用戶的家目錄下有一個名字叫
.bash_history
的文件里
例如
#
cd
#
cat
.bash_history
執行後就可查看到當前用戶所使用過的命令了,
9. linux伺服器中怎麼查看日誌內容
登錄
kbkiss
Linux查看日誌常用命令
1.查看日誌常用命令
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" 查詢關鍵字的日誌
2. 應用場景一:按行號查看---過濾出關鍵字附近的日誌
1)cat -n test.log |grep "debug" 得到關鍵日誌的行號
2)cat -n test.log |tail -n +92|head -n 20 選擇關鍵字所在的中間一行. 然後查看這個關鍵字前10行和後10行的日誌:
tail -n +92表示查詢92行之後的日誌
head -n 20 則表示在前面的查詢結果里再查前20條記錄
3. 應用場景二:根據日期查詢日誌
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 "debug" |more 這樣就分頁列印了,通過點擊空格鍵翻頁
(2)使用 >xxx.txt 將其保存到文件中,到時可以拉下這個文件分析
如:cat -n test.log |grep "debug" >debug.txt