EDA365电子论坛网

标题: Linux查看日志常用命令 [打印本页]

作者: ulppknot    时间: 2021-4-23 10:27
标题: Linux查看日志常用命令
7 O  |5 I5 h+ [8 g. {( p8 `
1.查看日志常用命令- s% a% `" j/ R; ~" p. E. z, B
    tail:  
, o6 C' S# ?3 G9 m  W" C       -n  是显示行号;相当于nl命令;例子如下:
) U# O0 s" O' p" u# D& c            tail -100f test.log      实时监控100行日志& E8 e" u$ m3 v6 i, V. K9 }
            tail  -n  10  test.log   查询日志尾部最后10行的日志;
9 t5 ?- v  ]. D- z; ]" [0 }2 R  W1 g& X1 H$ C# r7 b/ I
            tail -n +10 test.log    查询10行之后的所有日志;# x, o. }# Y+ _% v  l0 ^
; H( o* H/ r4 k
    head:  $ }7 e/ X+ c  I- \

/ z9 r  V8 c$ T6 W" q        跟tail是相反的,tail是看后多少行日志;例子如下:
+ Y) k% f# ^; G' F/ i/ |3 h' N% q0 y) y  ~  N% w! L
            head -n 10  test.log   查询日志文件中的头10行日志;
) T2 G& q' v% F, _. L' t
, d: H4 x2 z. Q( D1 \) e0 Z            head -n -10  test.log   查询日志文件除了最后10行的其他所有日志;
% h* n2 t% y; {
/ z" f7 _1 {& J) p! a; F    cat: 8 E3 e' S3 I; X. b; S$ z" I
/ M9 `" p9 G/ l( q& `  ^* h
        tac是倒序查看,是cat单词反写;例子如下:
( @% n& L- H( F# j  x! @7 _$ I8 H% r5 B% R
            cat -n test.log |grep "debug"   查询关键字的日志
" z) v2 i* Y2 h2 i3 i1 W. j9 U* n: p5 e; g8 v- o* h7 y3 _
- d2 k& J; O6 V( }3 t

. m  p" G0 g) m* N2. 应用场景一:按行号查看---过滤出关键字附近的日志
7 n2 T4 s2 d4 O( m5 i  a& l4 J: V7 s
     1)cat -n test.log |grep "debug"  得到关键日志的行号* z) D; @) y' C8 N

; {3 ^8 `' w9 g% c$ i7 h3 E     2)cat -n test.log |tail -n +92|head -n 20  选择关键字所在的中间一行. 然后查看这个关键字前10行和后10行的日志:! P+ T" f, V9 u2 {  R

/ ?0 F: q8 R5 E" v            tail -n +92表示查询92行之后的日志6 d$ d, `8 o* S3 I& V" ]; M( l
) u1 g3 h' z! v$ L) B: H
            head -n 20 则表示在前面的查询结果里再查前20条记录
4 f! H% C  \9 |3 X- [* u0 S! K1 T7 y$ U9 b+ M0 H# O( k) Z1 ?
: ~1 a4 ]$ k# |3 A& d7 P8 P9 }" C
' k5 V1 A' F: K, @0 B
3. 应用场景二:根据日期查询日志
6 E: d+ ]; U! K" s8 y6 H! O; U7 e8 o& I* F! {+ X" I% K1 R
      sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p'  test.log
# `( {7 G/ x* J' r' D  S( Q6 \2 k$ N, l0 v2 J! V) Q* [
      特别说明:上面的两个日期必须是日志中打印出来的日志,否则无效;4 ^  x* S% g- }
! D* ~  _0 E* u) P
                      先 grep '2014-12-17 16:17:20' test.log 来确定日志中是否有该 时间点
& \, L: b. t$ W% w7 I$ M5 E# S8 Y( v% b9 x* r% g# `2 Q- N& `
7 n2 H& a1 G5 F9 J$ w0 {4 s# P  P

& g. O3 k. Q3 v; U4.应用场景三:日志内容特别多,打印在屏幕上不方便查看
. d) x' x# A  K; ~! H6 E    (1)使用more和less命令,
% U. @* ?) W5 h' h: u) k& e) m, a' p4 S6 h0 Y4 s2 g% l
           如: cat -n test.log |grep "debug" |more     这样就分页打印了,通过点击空格键翻页
7 B. F( |* R3 p0 W) Q
$ C# h' D! Y. a3 E    (2)使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析; b1 @* A  d" p3 j0 |( l& d

* S2 e& w( ?, p7 D' V) I3 m            如:cat -n test.log |grep "debug"  >debug.txt
作者: yin123    时间: 2021-4-23 13:14
Linux查看日志常用命令
作者: twel2e    时间: 2021-4-23 18:04
谢谢分享,收藏一下




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2