linux 查看实时日志指令

2020-02-27  本文已影响0人  been123
1.查看日志常用命令
tail:  
    -n  是显示行号;相当于nl命令;例子如下:
    tail -100f test.log      实时监控100行日志
    tail  -n  10  test.log   查询日志尾部最后10行的日志;
    tail -n +10 test.log    查询10行之后的所有日志;
head:  
    跟tail是相反的,tail是看后多少行日志;例子如下:
    head -n 10  test.log   查询日志文件中的头10行日志;
    head -n -10  test.log   查询日志文件除了最后10行的其他所有日志;
cat:
    tac是倒序查看,是cat单词反写;例子如下:
    cat -n test.log |grep "debug"   查询关键字的日志
    cat -n test.log |tail -n +92|head -n 20   选择关键字所在的中间一行. 然后查看这个关键字前10行和后10行的日志:

    tail -n +92表示查询92行之后的日志
    head -n 20 则表示在前面的查询结果里再查前20条记录
    sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p'  test.log
     特别说明:上面的两个日期必须是日志中打印出来的日志,否则无效;

      先 grep '2014-12-17 16:17:20' test.log 来确定日志中是否有该 时间点

(1)使用more和less命令,
       如: cat -n test.log |grep "debug" |more     这样就分页打印了,通过点击空格键翻页

(2)使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析
       如:cat -n test.log |grep "debug"  >debug.txt

2.查找    find

1.按照文件名查找
(1)find / -name httpd.conf #在根目录下查找文件httpd.conf,表示在整个硬盘查找

(2)find /etc -name httpd.conf #在/etc目录下文件httpd.conf

(3)find /etc -name '*srm*' #使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘srm’的文件

(4)find . -name 'srm*' #表示当前目录下查找文件名开头是字符串‘srm’的文件

2.按照文件特征查找  
   
(1)find / -amin -10 # 查找在系统中最后10分钟访问的文件(access time)

(2)find / -atime -2 # 查找在系统中最后48小时访问的文件

(3)find / -empty # 查找在系统中为空的文件或者文件夹

(4)find / -group cat # 查找在系统中属于 group为cat的文件

(5)find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件(modify time)

(6)find / -mtime -1 #查找在系统中最后24小时里修改过的文件

(7)find / -user fred #查找在系统中属于fred这个用户的文件

(8)find / -size +10000c #查找出大于10000000字节的文件(c:字节,w:双字,k:KB,M:MB,G:GB)

(9)find / -size -1000k #查找出小于1000KB的文件

grep

(1)grep 'test' d* #显示所有以d开头的文件中包含 test的行

(2)grep ‘test’ aa bb cc #显示在aa,bb,cc文件中包含test的行

(3)grep ‘[a-z]\{5\}’ aa #显示所有包含每行字符串至少有5个连续小写字符的字符串的行

(4)grep magic /usr/src #显示/usr/src目录下的文件(不含子目录)包含magic的行

(5)grep -r magic /usr/src #显示/usr/src目录下的文件(包含子目录)包含magic的行

(6)grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),
上一篇下一篇

猜你喜欢

热点阅读