Some logging skills record

Some tips for finding logs

# 通用的查日志方式 ,使用less进入日志文件
less console.log 
# 然后用 /book 往下查找book关键词,?book往上查找book关键字
# 用 n 向前查找, N 向后查找
# 用 b 往前翻页 , f 往后翻页
# 用 G 跳到文件结尾, g 跳到文件开头

# 在多个文件中定位日志信息, 或定位文件名称
# 从当前目录往下查找,查找文件名前缀是console的文件
find . -name 'console*'
# 从当前目录往下查找, 查找包含字符串 CONFIRM 的文件(文件类型为f表示只查找文件, 而不查找目录), 并打印
# -name 和 -type 参数可以同时使用
find . -type f | xargs grep 'CONFIRM'
# 上面的命令会同时列出文件名和日志信息
# 如果只想定位文件名, 可以结合 cut 命令
find . -type f -name 'console*' | xargs grep 'CONFIRM' | cut -f1 -d':'
# cut 的 -d':'  表示以 : 为分隔符对字符串进行切割, -f1 表示保留切割得到的字符串数组的第一个
# 加上 uniq 命令对文件名进行去重
find . -type f -name 'console*' | xargs grep 'CONFIRM' | cut -f1 -d':' | uniq
# uniq后面还可以跟 -c 参数, 可以计数
# 如果符合条件的文件数太多, 则可以只列出前n行,比如只列出前10行
find . -type f -name 'console*' | xargs grep 'CONFIRM' | cut -f1 -d':' | uniq | head -n 10
# find 默认是递归查找所有文件子目录, 若只希望往下查找一级目录, 可以通过maxdepth 参数来指定
find . -type f -name 'console*' -maxdepth 2
# 若希望查找不满足某条件, 则可以用not, 进行反向查找
find . -not -name 'console*'


# 如果要查的日志是压缩文件,需要把 grep 替换成 zgrep
# grep 可以增加参数, 比如下面的命令,可以查找console.log文件中出现CONFIRM上下5行的信息
grep -C 5 'CONFIRM' console.log
# 统计次数可以使用
wc -l
# 设置命令别名可以用
alias ll='ls -l'

Guess you like

Origin blog.csdn.net/vcj1009784814/article/details/107707801