本文介紹六種查看日志的命令:tail钝腺、head抛姑、cat、more艳狐、less定硝、sed。
一毫目、tail
1.1 命令功能
tail 命令從指定點開始將文件寫到標準輸出蔬啡。
1.2 命令格式
tail[必要參數(shù)][選擇參數(shù)][文件]
1.3 命令參數(shù)
-f 循環(huán)讀取
-q 不顯示處理信息
-v 顯示詳細的處理信息
-c<數(shù)目> 顯示的字節(jié)數(shù)
-n<行數(shù)> 顯示行數(shù)
-q, --quiet, --silent 從不輸出給出文件名的首部
-s, --sleep-interval=S 與-f合用,表示在每次反復的間隔休眠S秒
1.4 使用實例
tail? -n? 10? file.log? 查詢日志尾部最后10行的日志;
tail? -n +10? file.log? 查詢第10行之后的所有日志;
tail? -fn 100? file.log? 循環(huán)實時查看最后100行記錄
tail一般還會配合著grep用
tail -fn 1000 file.log | grep '關鍵字'
如果查詢的數(shù)據(jù)量太大,Ctrl + F 或者 空格鍵可以翻頁查看
tail -n 5000? file.log |more -1000
二、head
2.1 命令功能
head跟tail是相反镀虐,用來顯示檔案的開頭至標準輸出中箱蟆,默認head命令打印其相應文件的開頭10行。
head -n? 10? file.log? 查詢日志文件中的頭10行日志;
head -n -10? file.log? 查詢日志文件除了最后10行的其他所有日志;
2.2 命令格式
tail[必要參數(shù)][選擇參數(shù)][文件]
2.3 命令參數(shù)
參考tail
三刮便、cat
3.1 命令功能
一次顯示整個文件:cat filename
從鍵盤創(chuàng)建一個文件(只能創(chuàng)建新文件,不能編輯已有文件):cat > filename
將幾個文件合并為一個文件:cat file1 file2 > file
3.2 命令格式
cat [選項] [文件]...
3.3 命令參數(shù)
-A, --show-all? ? ? ? ? 等價于 -vET-b, --number-nonblank? ? 對非空輸出行編號-e? ? ? ? ? ? ? ? ? ? ? 等價于 -vE-E, --show-ends? ? ? ? ? 在每行結束處顯示 $-n, --number? ? 對輸出的所有行編號,由1開始對所有輸出的行數(shù)編號-s, --squeeze-blank? 有連續(xù)兩行以上的空白行空猜,就代換為一行的空白行 -t? ? ? ? ? ? ? ? ? ? ? 與 -vT 等價-T, --show-tabs? ? ? ? ? 將跳格字符顯示為 ^I-v, --show-nonprinting? 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
3.4 使用實例
把 file1.log 的文件內容加上行號后輸入 file2.log 這個文件里
cat -n file1.log file2.log
把 file1.log 和 file2.log 的文件內容加上行號(空白行不加)之后將內容附加到 file.log 里
cat -b file1.log file1.log file.log
把 file1.log 的文件內容加上行號后輸入 file.log 這個文件里
cat -n file1.log > file.log
tac 是將 cat 反寫過來恨旱,所以他的功能就跟 cat 相反
四辈毯、more
4.1 命令功能
more命令和cat的功能一樣都是查看文件里的內容,但有所不同的是more可以按頁來查看文件的內容搜贤,還支持直接跳轉行等功能谆沃。
4.2 命令語法
more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ]
4.3 命令參數(shù)
+n? ? ? 從笫n行開始顯示-n? ? ? 定義屏幕大小為n行+/pattern 在每個檔案顯示前搜尋該字串(pattern),然后從該字串前兩行之后開始顯示? -c? ? ? 從頂部清屏仪芒,然后顯示-d? ? ? 提示“Press space to continue唁影,’q’ to quit(按空格鍵繼續(xù),按q鍵退出)”掂名,禁用響鈴功能-l? ? ? ? 忽略Ctrl+l(換頁)字符-p? ? ? 通過清除窗口而不是滾屏來對文件進行換頁据沈,與-c選項相似-s? ? ? 把連續(xù)的多個空行顯示為一行-u? ? ? 把文件內容中的下畫線去掉
4.4 常用操作命令
Enter 向下n行,需要定義饺蔑,默認為1行
Ctrl + F 向下滾動一屏
空格鍵 向下滾動一屏
Ctrl + B 返回上一屏
= 輸出當前行的行號
:f 輸出文件名和當前行的行號
V 調用vi編輯器
!命令 調用Shell卓舵,并執(zhí)行命令
q 退出more
4.5 使用示例
顯示文件中從第3行起的內容
more +3 file.log
從文件中查找第一個出現(xiàn)test字符串的行,并從該處前兩行開始顯示輸出
more +/test file.log
設定每屏顯示行數(shù)
more -5 log2012.log
五膀钠、less
5.1 命令功能? ? shift+g =移到日志最下面
less與more類似掏湾,使用less可以隨意瀏覽文件,而more僅能向前移動肿嘲,不能向后移動融击,而 less 既可以向前移動,也可以向后移動雳窟。
5.2 命令格式
less [參數(shù)]? 文件
5.3 命令參數(shù)
-b <緩沖區(qū)大小> 設置緩沖區(qū)的大小-e? 當文件顯示結束后尊浪,自動離開-f? 強迫打開特殊文件匣屡,例如外圍設備代號、目錄和二進制文件-g? 只標志最后搜索的關鍵詞-i? 忽略搜索時的大小寫-m? 顯示類似more命令的百分比-N? 顯示每行的行號-o <文件名> 將less 輸出的內容在指定文件中保存起來-Q? 不使用警告音-s? 顯示連續(xù)空行為一行-S? 行過長時間將超出部分舍棄-x <數(shù)字> 將“tab”鍵顯示為規(guī)定的數(shù)字空格
5.4 常用操作命令
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重復前一個搜索(與 / 或 ? 有關)
N:反向重復前一個搜索(與 / 或 ? 有關)
b? 向后翻一頁
d? 向后翻半頁
h? 顯示幫助界面
Q? 退出less 命令
u? 向前滾動半頁
y? 向前滾動一行
空格鍵 滾動一行
回車鍵 滾動一頁[pagedown]: 向下翻動一頁[pageup]:? 向上翻動一頁
5.5 less命令在查詢日志時拇涤,一般流程是這樣的
less file.log
shift + G 命令到文件尾部 然后輸入 捣作? 加上你要搜索的關鍵字例如:?test
按 n 向上查找關鍵字
shift + n 反向查找關鍵字
六鹅士、sed
6.1 命令功能
這個命令可以查找日志文件特定的一段 , 根據(jù)時間的一個范圍查詢券躁,可以按照行號和時間范圍查詢
6.2 使用示例
按照行號:只查看文件的第5行到第10行
sed -n '5,10p' file.log
按照時間段
sed -n '/2019-12-17 16:17:20/,/2019-12-17 16:17:36/p'? file.log