1. 程式人生 > >Linux日誌篩選命令

Linux日誌篩選命令

(1)Linux目錄操作命令

cd ..退出當前目錄,返回上一級目錄;cd / 退出當前目錄,返回根目錄;

mkdir命令用於建立一個新的目錄;rmdir命令功能刪除指定的空目錄。

(2)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

第二種方式,兩個行號之間的命令:

sed -n '5,10p' filename 這樣你就可以只檢視檔案的第5行到第10行。

特別說明:上面的兩個日期必須是日誌中打印出來的日誌,否則無效.

關於日期列印,可以先 grep '2014-12-17 16:17:20' test.log 來確定日誌中是否有該時間點,以確保第4步可以拿到日誌

這個根據時間段查詢日誌是非常有用的命令.

如果我們查詢的日誌很多,列印在螢幕上不方便檢視, 有兩個方法:

(1)使用more和less命令, 如: cat -n test.log |grep "地形" |more     這樣就分頁列印了,通過點選空格鍵翻頁

a.More命令

more命令,功能類似 cat ,cat命令是整個檔案的內容從上到下顯示在螢幕上。 more會以一頁一頁的顯示方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示,而且還有搜尋字串的功能 。more命令從前向後讀取檔案,因此在啟動時就載入整個檔案。

b.Less

less 工具也是對檔案或其它輸出進行分頁顯示的工具,應該說是linux正統檢視檔案內容的工具,功能極其強大。less 的用法比起 more 更加的有彈性。在 more 的時候,我們並沒有辦法向前面翻, 只能往後面看,但若使用了 less 時,就可以使用 [pageup] [pagedown] 等按鍵的功能來往前往後翻看檔案,更容易用來檢視一個檔案的內容!除此之外,在 less 裡頭可以擁有更多的搜尋功能,不止可以向下搜,也可以向上搜。

(2)使用 >xxx.txt 將其儲存到檔案中,到時可以拉下這個檔案分析.如:

cat -n test.log |grep "地形"  >xxx.txt

這幾個日誌檢視方法應該可以滿足日常需求了.

grep命令多條件查詢

1、或操作

 grep -E ’123|abc’ filename  // 找出檔案(filename)中包含123或者包含abc的行
 egrep ’123|abc’ filename    // 用egrep同樣可以實現
 awk ’/123|abc/’ filename   // awk 的實現方式

2、與操作

grep pattern1 files | grep pattern2 :顯示既匹配 pattern1 又匹配 pattern2 的行。

3、其他操作

grep -i pattern files :不區分大小寫地搜尋。預設情況區分大小寫,
grep -l pattern files :只列出匹配的檔名,
grep -L pattern files :列出不匹配的檔名,
grep -w pattern files :只匹配整個單詞,而不是字串的一部分(如匹配‘magic’,而不是‘magical’),
grep -C number pattern files :匹配的上下文分別顯示[number]行

grep的-A, -B, -C選項分別可以顯示匹配行的後,前,後前多少行內容: 

grep -A 100 'TooManyResultsException' catalina.log.2017-09-25  後

grep -B 100 'TooManyResultsException' catalina.log.2017-09-25  前

grep -C 100 'TooManyResultsException' catalina.log.2017-09-25  前後

grep -C 100 --color 'TooManyResultsException' catalina.log.2017-09-25  帶顏色輸出

查詢日誌特殊場景:

如果日誌非常的多,在短短的一個小時的時間中就有上千條或者上萬條資料,僅僅根據條件篩選的話非常麻煩,即使篩選出來也會有很多條資料。如果我們知道該條呼叫發生的時間,就可以根據日誌最前面列印的時間判斷出哪些記錄符合查詢條件。所以,我們可以根據日誌的日期作為搜尋條件,並且配合grep使用,如下所示:

sed -n '/2017-03-08 15:42:03/,/2017-03-08 15:42:05/p' dubbo-access-consumer.2017-03-08.log | grep countOrgOrder

我們可以使用sed命令的查詢模式:

使用模式進行查詢
     [[email protected] ruby] # sed -n '/ruby/p' ab    #查詢包括關鍵字ruby所在所有行
     [[email protected] ruby] # sed -n '/\$/p' ab        #查詢包括關鍵字$所在所有行,使用反斜線\遮蔽特殊含義

查詢.bz2型別的日誌檔案,如下所示:bzgrep 60000000005137 dubbo-access-provider.2017-05-17.log.bz2

下面介紹一下如何查詢篩選伺服器上執行的程序:

1.使用ps命令執行相應操作,如果想查詢伺服器上所有執行的程序的話,可以使用命令ps aux即可查出;

2.如果有具體的篩選條件的話,就可以使用ps aux | grep xxx即可;

3.或者使用命令 ps -ef | grep xxx 也可以完成相應的篩選工作;

4.終止某個程序的命令 kill -9 XXXXX     XXXXX為上述查出的序號  如: 19979執行緒終止為: kill -9 19979 

相關推薦

Linux日誌篩選命令

(1)Linux目錄操作命令 cd ..退出當前目錄,返回上一級目錄;cd / 退出當前目錄,返回根目錄; mkdir命令用於建立一個新的目錄;rmdir命令功能刪除指定的空目錄。 (2)Linux篩選日誌 下面羅列的這些基本命令,很有用,對於查詢線上線下問題都非

Linux記錄-篩選日誌sed、find、tail,du命令

audit int linux dfs- dfs 文件 tcp linux記錄 inux 1.查看某一段時間的日誌 #cat hdfs-audit.log | sed -n ‘/2018-04-11 10:00:00/,/2018-04-11 10:01:00/ p‘ |

Linux 文件日誌篩選操作

shel hit 排列 定時 ace grep mon int sta 統計查看文件以及篩選日誌 1、*.log 日誌文件中 統計獨立ip的個數: awk ‘{print $1}‘ test.log | sort | uniq | wc -l 2、#查詢訪問最多的前

Linux下Shell命令的輸出信息同時顯示在屏幕和保存到日誌文件中

blog inux -a 輸出 輸出內容 使用 col 文件中 信息 #直接覆蓋日誌文件 ls -l | tee ./t.log #將輸出內容附加到日誌文件 ls -l | tee -a ./t.log 使用的是tee命令Linux下She

linux系統中如何查看日誌 (常用命令)

linux系統中如何查看日誌 (常用命令日 誌 文 件 說 明/var/log/message 系統啟動後的信息和錯誤日誌,是Red Hat Linux中最常用的日誌之一/var/log/secure 與安全相關的日誌信息/var/log/maillog 與郵件相關的日誌信息/var/log/cron

使用pyinotify實現加強版的linux tail -f 命令,並且對日誌類型的文本進行單獨優化著色顯示。

ear 文件 mon 而且 pri att lose linux monitor tail -f命令不能自動切換切片文件,例如日誌是每100M生成一個新文件,tail -f不能自動的切換文件,必須關閉然後重新運行tail -f 此篇使用pyinotify,檢測文件更

linux搜索日誌命令方法

ali tls lin 本地 文件太大 linux文件路徑 start nbsp 1.0 1.基本原則 sz命令下載日誌文件到本地 ,如果文件太大,可以先壓縮,再下載 sudo zip -r ROOT_20170607.zip ROOT 根據關鍵字搜索,再根據時間段搜

Linux】檢視日誌命令cat、less、more、tail、head

目錄 一、cat 二、more 三、less 四、tail 五、head 各命令的主要區別: linux命令中cat、more、less、tail、head均可用來檢視檔案內容,主要區別有: cat是一次性顯示整個檔案的內容,適用於檔案內容少的情況;

linux 記錄使用者登入日誌命令執行日誌

vi /etc/profile 在末尾增加程式碼 history USER=`whoami` USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` if [ "$USER_IP" = ""

Windows下cmd視窗使用ssh命令連線Linux命令(檢視服務日誌Linux基本常用命令使用)

第一部分:OpenSSL的安裝 一般在公司,都經常有各種環境,不管是測試環境還是生產環境,都需要去檢視部署的服務的日誌,也就是要登入到遠端的Linux系統去檢視日誌來確保專案是否正常執行。常見的就是用shell、putty、SecureCRT等工具軟體,但這些一般都需要有破

linux環境下檢視日誌常用命令

linux環境下檢視日誌必不可少,簡單整理了一些常用的命令。 tail -f 87testing.log#預設檢視最新10條日誌記錄並實時重新整理 tail 87testing.log -n 100 #檢視最新100條日誌記錄 tail -f 87testing.log

linux系統中如何檢視日誌 (常用命令)

cat tail -f 日 志 文 件 說    明 /var/log/message 系統啟動後的資訊和錯誤日誌,是Red Hat Linux中最常用的日誌之一 /var/log/secure 與安全相關的日誌資訊 /var/log/maillog 與郵件相關的日誌資訊 /var/log/cr

linux使用grep命令根據字串查詢日誌中關鍵詞出現的位置

進入到logs日誌目錄,執行類似以下的命令: cat -n catalina.out |grep '053574ccc432403c9762ac1372a7c7' 便可得到053574ccc432403c9762ac1372a7c7出現的日誌輸出語句,可見下圖

Linux 檢視日誌檔案命令(整合)

當日志儲存檔案很大時,我們就不能用 vi 直接去檢視日誌了,就需要Linux的一些內建命令去檢視日誌檔案. 系統Log日誌位置: /var/log/message 系統啟動後的資訊和錯誤日誌,是Red Hat Linux中最常用的日誌之一 /var/log/secu

linux檢視日誌命令總結

1.less命令    less log.log    1)反向查詢        定位到檔案的結尾:shift + G        ?關鍵字   注:反向查詢,按shift+n 鍵,把游標移動到下一個符合條件的        2)正向查詢            定位到檔案

Linux 檢視日誌檔案命令

tail head cat tac echo 1. tail tail -f test.log 你會看到螢幕不斷有內容被打印出來. 這時候中斷第一個程序Ctrl-C。 2. head linux 如何顯示一個檔案的某幾行(中間幾行)

Linux下Tomcat帶日誌啟動命令

在Linux環境下,啟動Tomcat時我們需要在啟動過程中看到日誌資訊。可以通過下面命令啟動Tocmat。 ./startup.sh; tailf ../logs/catalina.out 或者 ./startup.sh && tail

【轉】linux日誌分析常用命令大全

1、檢視當天有多少個IP訪問: awk '{print $1}' log_file|sort|uniq|wc –l 2、檢視某一個頁面被訪問的次數: grep "/index.PHP" log_file | wc –l 3、檢視每一個IP訪問了多少個頁面: awk '

Linux 通過grep命令篩選過濾

grep命令語法 grep [option] pattern file 命令說明 通過grep命令能對特定字元進行篩選,得到我們期望的效果(過濾/搜尋),grep全稱是Global Regular Expression Print 命令引數

Linux日誌檢視(9)— grep 命令(詳解+例項)

概述 grep(global search regular expression(RE) and print out the line,全面搜尋正則表示式並把行打印出來)是一種強大的文字搜尋工具,它能