日常開發中,我們經常需要在伺服器上邊進行各種文字,日誌的檢視操作,本文主要對常用的文字,日誌檢視技巧進行了一番總結和歸納,方便大家收藏起來後續檢視使用:
tail命令檢視日誌資訊
實時監控日誌:
tail -f filename
實時監控10行日誌資訊:
tail -10f filename
檢視日誌尾部的最後100行日誌資訊:
tail -n 100 filename
檢視日誌100行之後的日誌資訊:
tail -n +100 filename
head命令檢視文字資訊檢視文字開始的頭100行資訊:
head -n 100 filename
檢視文字最後100行資訊以上的內容
head -n -100 filename
cat命令檢視文字資訊檢視全部文字內容
cat filename
cat -n filename |tail -n +100|head -n 20
不過使用個人不是太喜歡使用這種命令來進行文字的定位檢視,因為檢視起來過於麻煩,文章下邊會有更加簡便的命令操作。
tac檢視文字資訊
和cat命令有點相反,cat命令更多的是從頭部往尾部的順序展現文字內容,而tac命令正好是從文字的尾部往頭部展現日誌內容
tac filename
例如說,我們通過cat命令和tac命令同時來檢視一段相同的內容:
通過不同命令來展示文字,會發現文字的內容順序有所相反。
搜尋文字內容
grep是一種強大的文字搜尋工具,它能使用正規表示式搜尋文字,並把匹配的行列印出來。
常見的grep命令選項:
grep命令的常用方式:
在多個檔案中查詢:
grep "match_pattern" file_1 file_2 file_3 ...
標記匹配顏色 --color=auto 選項:
grep "match_pattern" file_name --color=auto
【這裡的color項可以根據文件說明進行選擇always,never,auto三種】
輸出除之外的所有行 -v 選項:
grep -v "match_pattern" file_name
使用正規表示式 -e 選項:
grep -e "[1-9]+"
只輸出匹配到的內容選項:
grep -o -e "[a-z]+\." line
統計檔案或者文字中包含匹配字串的行數 -c 選項:
grep -c "text" file_name
輸出包含匹配字串的行數 -n 選項:
grep "text" -n file_name
在了解了grep命令能完成的功能點之後,我們可以在實際工作中靈活運用。
有些時候我們也會遇到一些希望檢視某個時間段日誌資訊的需要,這個時候可以利用grep這條命令來實現這個功能,例如說希望檢視2019-08-06 22點這乙個小時以內的日誌資訊,那麼可以輸入以下命令:
這樣可以快速定位到你所希望檢視的資訊範圍。
由於grep命令是可以接收standard input的資料,因此我們通常可以借助管道命令符「 | 」的幫助,在一些標準輸出進行中進行查詢操作。
例如說,先將檔案的內容讀取出來,然後借助管道的幫助將內容**給grep來進行內容過濾,如下邊的這段命令:
除了使用grep命令之外,也可以使用sed命令來實現相應的效果。
sed是一種非互動式的編輯器,sed會逐行處理檔案(或輸入),並將結果傳送到螢幕。
可能對於新手來說,講概念還不如直接來幾個實操案例更為直接。
sed命令的常用方式:
只列印檔案的第一行內容
sed -n '1p' filename
檢視檔案的第一行到第十行之間的內容
sed -n '1,10p' filename
刪除第一行文字資訊
sed '1d' filename
將文字裡面的某些字串進行替換
sed 's/希望替換的內容/被替換的內容/g'
例如:sed 's/1/one /g' filename 將1替換為one
在了解了sed命令的一些基礎用法之後,我們可以在實際的工作場景中多次運用,從而強化自己對於sed命令的理解。
例如說,通過sed命令來進行日期範圍的指定,例如說檢視2019-08-06 22:43-22:44之間的日誌記錄:
上邊有說到使用head和tail命令一起來實現對於日誌檔案的某段內容檢視,但是這樣的操作實在是有點麻煩,不妨可以嘗試使用sed命令來進行操作。
例如說,檢視日誌的第1-20行內容:
利用more命令進行翻頁檢視如果說希望檢視的日誌檔案過大,那麼可以通過使用more命令來進行分頁查詢,例如說設定每一頁展示10條資料資訊:
more -10 filename
說了那麼多,我們不妨進行一些模擬的操作場景吧:
檢視日誌最後一次出現關鍵字』test』的日誌記錄
grep 'test' -a 10 log.file | tail -n 11
這裡需要了解到grep命令的幾個引數含義:
grep 『name』 -a 10 顯示匹配內容和後面的10行
grep 『name』 -b 10 顯示匹配內容和前面的10行
grep 『name』 -c 10 顯示匹配內容和前後面的10行
tail -n 11命令則是將當前顯示的10行內容以及匹配的那一行內容展示出現
簡單統計乙份日誌裡面出現『test』關鍵字的行數
相應命令:
grep 'test' ./log.file |wc -l
這裡我們可以先將文字的內容進行輸出到標準輸出中,然後借助管道將資料資訊傳給wc命令進行統計。
wc命令常用的幾個引數
-l 匹配的行數
-w 匹配的字數
-m 匹配的字元數目
linux裡面對於文字資訊的檢視技巧實在是有太多了,遠遠不侷限於我在文中所提及的這些,因此在實際的工作中我們還可以多多將有助於自己提公升工作效率的技巧進行歸納和總結。 Linux文字檢視
在linux系統下,有很多命令可以檢視文字檔案的內容,如cat tac nl more less head tail等命令,當然還有vi nano等文字編輯器。在這裡,我只介紹其中自己常用的一部分命令和操作。cat 從第一行開始顯示全部的文字內容 tac 從最後一行開始,顯示全部分文字內容,與cat...
Linux 常用命令 文字檢視篇
linux 常用命令 文字檢視篇 前言linux常用命令中,除了cat還有很多其他用於文字檢視的命令。本文將簡單介紹一下這些文字檢視的命令。全文本顯示 cat cat可能是常用的乙個文字檢視命令了,使用方法也很簡單 cat file 全文本顯示在終端 cat n file 顯示全文本,並顯示行號 另...
Linux 常用命令 文字檢視篇
linux常用命令中,除了cat還有很多其他用於文字檢視的命令。本文將簡單介紹一下這些文字檢視的命令。cat可能是常用的乙個文字檢視命令了,使用方法也很簡單 cat file 全文本顯示在終端 cat n file 顯示全文本,並顯示行號 另外,cat也可用作合併檔案 cat file1 file2...