前言作為一名測試工程師,測試任務中和linux打交道的地方有很多,比如檢視日誌、定位bug、修改檔案、部署環境等。產品部署在linux上,如果某個功能發生錯誤,就需要我們去排查出錯的原因,所以熟練的掌握檢視log的方法顯得尤為重要。如何優雅的檢視log日誌,讓我們拭目以待。
談到檢視log的方法,最常使用的命令可以說是cat與more及less了,但是如果檢視乙個很大的檔案,並且只想看到該檔案最後幾行的結果輸出時,你還記得用什麼嗎?對了,就是tail,此外tac也可以達到這個目的。接下來文章將通過例項來講解各個檢視日誌的命令。
cat:由第一行開始顯示檔案內容tac:從最後一行開始顯示,不知道你是否觀察出來,tac是cat倒著寫的,所以功能上兩個是相反的nl:顯示的時候,同時輸出行號 more:一頁一頁地顯示檔案內容less:與more類似,相比於more,可以往前翻頁head:只看前面幾行tail:只看後面幾行
cat/tac/nl想要直接檢視乙個檔案的內容,可以使用cat/tac/nl命令列。
1. cat(concatenate,串聯)
cat [-abentv] 檔案
選項與引數:
-a :相當於-vet的整合,可列出一些特殊字元而不是空白而已;
-b :列出行號,僅針對非空白行做出行號顯示,空白行不標行號;
-e :將結尾的換行符$顯示出來;
-n :列印出行號,連同空白行也會有行號,與-b的選項不同;
-t :將[tab]按鍵以^i顯示出來 ;
-v :列出一些看不出來的特殊字元;
例項1:檢視/etc/spring.log的檔案內容。
cat /etc/spring.log
\a\ab
\abc
例項2:檢視/etc/spring.log的檔案內容並列印行號。
cat -n /etc/spring.log
1 \a
2 \ab
3 \abc
#如果對於大檔案,cat -n 可以解決找特定行的需求。
例項3:將/etc/spring.log的內容完整的顯示出來(包含特殊字元)。
cat -a /etc/spring.log
\a$\ab$
\abc$
在一般情況下,使用[tab]與空格鍵的效果差不多,都是一堆空白,無法區分出兩者,但是如果使用cat -a 就能夠發現空白的地方到底是什麼,其中[tab]是以^i表示,換行符則是以$表示。當檔案內容的行數超過40行以上時,根本來不及在螢幕上看到結果。所以cat配合less或者more是不錯的選擇。
2. tac(反向列示)
例項1:反向輸出/etc/spring.log的檔案內容。
cat /etc/spring.log
\abc
\ab\a
3. nl(新增行號列印)
nl [-bnw] 檔案
選項與引數:
-b :指定行號指定的方式:主要2種:
-b a :表示不論是否為空行,也同樣列出行號(類似cat -n);
-b t :如果有空行,空的那一行不要列出行號(預設值);
-n :列出行號表示的方法,主要3種:
-n ln :行號在螢幕的最左方表示;
-n rn :行號在自己欄位的最右方顯示,且不加0;
-n rz :行號在自己欄位的最右方顯示,且加0;
-w :行號欄位的占用的字元數。
例項1:用nl列出/etc/spring.log的內容。
nl /etc/spring.log
1 \a
2 \ab
#其實檔案有三行,第三行為空白(沒有任何字元),因為是空白行,所以nl不會加上行號。
#如果想加上行號,使用nl -b a /etc/spring.log
例項2:
nl -b a /etc/spring.log
1 \a
2 \ab
3 #如果想在行號前面自動補上0,使用nl -b a -n rz /etc/spring.log
例項3:
nl -b a -n rz /etc/spring.log
000001 \a
000002 \ab
000003
# 預設6位數,想改為3位數可以使用nl -b a -n rz -w -3 /etc/spring.log
例項4:
nl -b a -n rz -w -3 /etc/spring.log
001 \a
002 \ab
003
nl可以將輸出的檔案內容自動地加上行號,其預設的結果與cat -n不太一樣,nl可以將行號做比較多的顯示設計,包括位數與是否自動補齊0等的功能。
more/less想要一頁一頁的檢視檔案的內容,可以使用more和less命令。
1. more(一頁一頁翻動)
2. less(一頁一頁翻動)
對比less和more,less的用法更加的靈活,more的缺點是沒有辦法向前翻頁,只能往後翻,但是less既能往後翻也能往前翻頁。
head/tail如果只想關注日誌內容的前一段或者最後一段的內容,使用head/tail。
1. head(取出前面幾行)
head [-n number] 檔案
選項與引數:
-n : 後面接數字,代表顯示幾行的意思。
# 預設情況下是顯示前10行,如果想要顯示前20行,使用head -n 20 檔案
例項1:
head -n 20 /etc/spring.log
# 行數可以為正數,也可以為負數,為負數的時候,這樣理解,比如乙個檔案有131行,我不想看最後的100行,也就是說想看前31行,其實有2種命令方式:
1. head -n 31 /etc/spring.log
2. head -n -100 /etc/spring.log
2. tail(取出後面幾行)
tail [-n number] 檔案
選項與引數:
-n : 後面接數字,代表顯示幾行的意思。
-f : 表示持續重新整理顯示後面所接檔案中的內容,按下ctrl -c 才會結束
# 預設情況下是顯示最後10行,如果想要顯示最後20行,使用tail -n 20 檔案
例項1:如果不知道檔案有多少行,但是想要列出100行以後的資料?
tail -n +100 /etc/spring.log
例項2:持續檢測/etc/spring.log的內容。
tail -f /etc/spring.log
幾種檢視log的方式總結的也差不多了,希望各位小夥伴能在實際操作中多加使用熟記命令,優雅的檢視log日誌。
搜狗測試qq粉絲群:459645679
Linux 檢視log日誌
tail f log 迴圈讀取日誌 tail 10000 log 顯示檔案的尾部 n 行內容 tail f log grep 關鍵字 迴圈讀取日誌,並根據關鍵字過濾 tail f log grep i 關鍵字 忽略字元大小寫 tail f log grep e 關鍵字a 關鍵字b 關鍵字c 過濾多個...
日誌檢視 學會檢視Windows日誌
大多數企業都會使用window系統,那麼使用過程中就會產生大量日誌,學會檢視windows日誌,合理的利用日誌資料進行分析,是it管理員的必備技能之一。正常情況下,windows日誌都是使用eventvwr.msc開啟事件管理器去檢視,或不同的事件id表示不同的日誌程序,但有些新型的事件id對於沒有...
scrapy如何檢視log日誌資訊?
1log資訊 如何檢視log日誌資訊?log enabled 是否開啟log log encoding 編碼格式2 重要 log file log檔案路徑 log level critical 嚴重錯誤 critical error 一般錯誤 regular errors warning 警告資訊 ...