最近需要經(jīng)常上服務(wù)器查日志辣往,因為上份工作日志都接了ELK权埠,不用登服務(wù)器去看,太久沒用發(fā)現(xiàn)有些命令已經(jīng)生疏了袍暴,正好趁此機會溫習(xí)并整理了一些常見的命令和使用場景些侍,記錄下來。
注:下面的每條命令結(jié)尾基本都接了 | less政模,這是博主個人習(xí)慣以瀏覽文件方式打開查找到的日志娩梨,避免在控制臺打印出大量的日志,不是必須的命令览徒。
常見場景
場景一:查找關(guān)鍵字所在行
1. cat -n x.log | grep "keyword"
2. grep "keyword" x.log | less
3. 或者直接less x.log狈定,然后在里面通過/或?向上或向下篩選關(guān)鍵字
場景二:查找關(guān)鍵字及前后幾行日志
1. grep -B 5 -A 10 "keyword" x.log | less -顯示關(guān)鍵字及前5行习蓬,后10行
2. grep -C 10 "keyword" x.log | less -顯示關(guān)鍵字及前后10行
場景三:實時監(jiān)控新日志
1纽什、tail -100f x.log -實時監(jiān)控最后100行日志
場景四:head查看頭部日志
1. head x.log -默認查看頭10行日志
2. head -n 100 x.log | less -查看頭100行日志
3. head -100 x.log | less -查看頭100行日志
場景五:tail查看尾部日志
1. tail x.log | less -默認查看最后10行日志
2. tail -n 5 x.log -查看尾部最后5行日志
3. tail -n +10 x.log -查看10行之后的所有日志
場景六:按行截取
1. tail -n +1000 x.log | head -n 10 | less -從第1000行開始躲叼,顯示10行
2. head -n 1000 x.log | tail -n + 900 | less -顯示900-1000行
head -n 1000 x.log | tail -n 100 | less -顯示900-1000行
3. sed -n '900,1000p' x.log | less -顯示900-1000行
場景七:按日期時間截取
1. sed -n '/2021-06-28 16:17:18/,/2021-06-28 16:20:18/p' x.log | less -兩個日期值必須是日志文件中包含的值,可以先grep一下確定是否存在
2. sed -n '/2021-06-28 16:17:18.569/,/2021-06-28 16:20:18.673/p' x.log | less -具體到毫秒數(shù)查找