Linux下查看log常用的命令

最近在做后端的項目,除了數據庫的相關知識外還常常需要在linux系統中的log文件里尋找相關的log用于定位及發現問題,之前對linux命令的理解還停留在和DOS命令類似的階段,現在特地學習總結一番,以備后用。

cat

cat命令是最簡單的顯示文件的命令,一次性顯示文件的全部內容,查看小文件的時候可以使用。可以一次性傳入多個文件連接顯示

more&less

這兩個命令是類似的,類似vi編輯器的顯示效果:
more:不支持后退,但幾乎不需要加參數,空格鍵是向下翻頁,Enter鍵是向下翻一行,在不需要后退的情況下比較方便。
less:支持前后翻滾,既可以向上翻頁(pageup按鍵),也可以向下翻頁(pagedown按鍵)。

head&tail

這兩個命令也是一組,望文生義一個是查看文件頭的命令一個是查看尾巴的。
公用的參數-n <行數>可以指定顯示文件的頭多少行或者尾多少行
tail還有個專用的參數-f可以用于log的持續顯示,后續log的新增部分也會持續的顯示在終端上,是實時查看log的重要工具之一

grep,egrep,fgrep

先看傳統的 grep 程序, 在沒有參數的情況下, 只輸出符合 RE 字符串之句子. 常見參數如下:

  • -a :在二進制文件中,以文本文件的方式搜索數據
    fg:在/etc/inittab內搜索包含rc字符串的行 grep -a 'rc' /etc/inittab
  • -c :計算找到'搜索字符串'的次數
  • -i :忽略大小寫
  • -v :反向查找,即顯示沒有'搜索字符串'內容的那行
  • -o :只顯示被模式匹配的字符串
  • -n :輸出行號
  • --colour(color):顏色顯示
  • -A:顯示匹配到字符那行的后面n行
  • -B:顯示匹配到字符那行的前面n行
  • -C:顯示匹配到字符那行的前后n行

從參數列表中我們可以看到egrep和fgrep實際是grep的兩種拓展,其中egrep作為 grep 的擴充版本, 改良了許多傳統 grep 不能或不便的操作. 比方說:

  • grep 之下不支持 ? 與 + 這兩種 modifier, 但 egrep 則可.
  • grep 不支持 a|b 或 (abc|xyz) 這類"或一"比對, 但 egrep 則可.
  • grep 在處理 {n,m} 時, 需用 { 與 } 處理, 但 egrep 則不需.
    所以要熟練度掌握egrep還需要爐火純青的正則表達式的技藝,正則表達式相關的內容以后的文章再總結把。

fgrep命令等同于grep -F,它利用固定的字符串來對文本進行搜索,但不支持正則表達式的引用,所以此命令的執行速度也最快。

管道符號 |

Linux系統中的命令可以將標準輸入讀取數據,還能將這些數據送到標準輸出中去,這種功能被系統進一步的利用,從而產生出一種新的特性,稱之為管道符“|”,這個符號可以將一個命令的標準輸出管道為另外一個命令的標準輸入。
需要注意的是管道符的使用有兩個條件:

  1. 管道命令只能處理前一個命令的標準輸出,而不能處理標準錯誤;
  2. 管道命令右邊命令必須能夠接收標準輸入。

管道符號|最常用的地方就是結合grep命令搜索log中的指定內容了,如下的命令可以持續查看sample.log文件中出現了Hello World的行:

tail -f /var/log/sample.log |grep "Hello World"

sort

sort命令可以幫我們針對文本文件,以行為單位來排序,默認使用升序輸出,參數列表如下:

  • -b 忽略每行前面開始出的空格字符。
  • -c 檢查文件是否已經按照順序排序。
  • -f 排序時,忽略大小寫字母。
  • -M 將前面3個字母依照月份的縮寫進行排序。
  • -n 依照數值的大小排序。
  • -o<輸出文件> 將排序后的結果存入指定的文件。
  • -r 以相反的順序來排序。
  • -t<分隔字符> 指定排序時所用的欄位分隔字符。
  • -k 選擇以哪個區間進行排序。

特別提一下-t和-k,他們是一對,具體用法如下:

如果有一個文件的內容是這樣:
[rocrocket@rocrocket programming]$ cat facebook.txt
banana:30:5.5
apple:10:2.5
pear:90:2.3
orange:20:3.4
這個文件有三列,列與列之間用冒號隔開了,第一列表示水果類型,第二列表示水果數量,第三列表示水果價格。那么我想以水果數量來排序,也就是以第二列來排序,如何利用sort實現?幸好,sort提供了-t選項,后面可以設定間隔符。指定了間隔符之后,就可以用-k來指定列數了。
[rocrocket@rocrocket programming]$ sort -n -k 2 -t ‘:’ facebook.txt
apple:10:2.5
orange:20:3.4
banana:30:5.5
pear:90:2.3

wc

wc命令并不是去上廁所了,而是word count的簡稱,通常用于統計作用,在默認的情況下,wc將計算指定文件的行數、字數,以及字節數。使用的命令為:
wc testfile
先查看testfile文件的內容,可以看到:

$ cat testfile 
Linux networks are becoming more and more common, but scurity is often an overlooked issue. Unfortunately, in today’s environment all networks are potential hacker targets, fro0m tp-secret military research networks to small home LANs. Linux Network Securty focuses on securing Linux in a networked environment, where the security of the entire network needs to be considered rather than just isolated machines. It uses a mix of theory and practicl techniques to teach administrators how to install and use security applications, as well as how the applcations work and why they are necesary. 

使用wc統計,結果如下

$ wc testfile                         # testfile文件的統計信息 
3 92 598 testfile                     # testfile文件的行數為3、單詞數92、字節數598 

wc命令還支持3個參數:

  • -c 只顯示Bytes數。
  • -l 只顯示列數。
  • -w 只顯示字數。

uniq

uniq命令用于統計和去重連續的重復行,參數列表如下:

-c 在每列旁邊顯示該行重復出現的次數。

-d 僅顯示重復的航

-u 僅顯示出現1次的行(和前行不重復的)

-i 對比時忽略大小寫

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,412評論 6 532
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,514評論 3 416
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,373評論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,975評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,743評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,199評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,262評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,414評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,951評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,780評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,983評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,527評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,218評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,649評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,889評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,673評論 3 391
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,967評論 2 374

推薦閱讀更多精彩內容

  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數據革命閱讀 12,197評論 2 33
  • cat命令 很多時候我們通過cat命令來查看文件內容,它會將文件的所有內容顯示出來。當然,cat也可以通過管道接收...
    keysaim閱讀 909評論 0 1
  • 本文筆記源自這里——[實驗樓]歡迎大家在下面交流其中有問題的地方喜歡請點收藏,每日更新(全部已親自實踐). 一. ...
    東皇Amrzs閱讀 4,021評論 7 54
  • 3.8_CC第三節:市場均衡點并不代表人們對結果滿意 代替效應與收入效應 這里講商品是否暢銷基本上是由社會決定的。...
    CC想按自己的意愿過一生閱讀 183評論 0 0
  • 本人,圓小井,87年生人,馬上30周歲,茫茫歲月轉眼奔三,有感慨時光如梭的飛逝,有紀念過往人生的五味雜陳,有感恩好...
    圓小井不圓閱讀 316評論 0 0