日誌檢視 優雅的檢視log日誌

2021-10-14 16:13:13 字數 3818 閱讀 6036

前言

作為一名測試工程師,測試任務中和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 警告資訊 ...