Linux查看日志常用命令

1.查看日志常用命令

主要命令有:tail,cat,less,more,head,vim

1.1 tail命令

用于查看文件的末尾内容,可以实时查看日志文件的更新情况。

tail [参数] [文件]

参数

描述

-f

循环读取

-q

不显示处理信息

-v

显示详细的处理信息

-c

Number 从 Number 字节位置读取指定文件

-n

Number 从 Number 行位置读取指定文件

-m

Number 从 Number 多字节字符位置读取指定文件,比方你的文件假设包括中文字,假设指定-c参数,可能导致截断,但使用-m则会避免该问题

-b

Number 从 Number 表示的512字节块位置读取指定文件

-k

Number 从 Number 表示的1字节块位置读取指定文件

上述命令中,都涉及到number,假设不指定,默认显示10行。Number前面可使用正负号,表示该偏移从顶部还是从尾部开始计算。

例:

tail -f debug.log 动态查看实时输出 debug.log 日志

tail -n 200 debug.log 查看 debug.log 日志后200行

1.2 cat命令

用于查看文件的全部内容,可以查看整个日志文件的内容。

cat [-AbeEnstTuv] [--help] [--version] 文件名

参数

描述

-n或–number

由 1 开始对所有输出的行数编号

-b或–number-nonblank

和 -n 相似,只不过对于空白行不编号

-s 或 --squeeze-blank

当遇到有连续两行以上的空白行,就代换为一行的空白行

-v 或 --show-nonprinting

使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外

-E 或 --show-ends

在每行结束处显示 $

-T 或 --show-tabs

将 TAB 字符显示为 ^I

-A, --show-all

等价于 -vET

-e

等价于"-vE"选项

-t

等价于"-vT"选项

例:

cat debug.log:查看 debug.log 的全部日志内容

cat debug.log | grep “java”:查看 debug.log 的 java 关键字关联的全部内容

cat info.log | grep -A 5 “java”:查看 debug.log 的 java 关键字后 5 行关联的全部内容

1.3 less命令

用于分页查看文件内容,可以方便浏览大型日志文件。

less [参数] [文件]

参数

描述

-b <缓冲区大小>

设置缓冲区的大小

-e

当文件显示结束后,自动离开

-f

强迫打开特殊文件,例如外围设备代号、目录和二进制文件

-g

只标志最后搜索的关键词

-i

忽略搜索时的大小写

-m

显示类似more命令的百分比

-N

显示每行的行号

-o <文件名>

将less 输出的内容在指定文件中保存起来

-Q

不使用警告音

-s

显示连续空行为一行

-S

行过长时间将超出部分舍弃

-x <数字>

将"tab"键显示为规定的数字空格

/字符串

向下搜索"字符串"的功能

?字符串

向上搜索"字符串"的功能

n

重复前一个搜索(与 / 或 ? 有关)

N

反向重复前一个搜索(与 / 或 ? 有关)

b

向上翻一页

d

向后翻半页

h

显示帮助界面

Q

退出less 命令

u

向前滚动半页

y

向前滚动一行

空格键

滚动一页

回车键

滚动一行

[pagedown]

向下翻动一页

[pageup]

向上翻动一页

例:

less debug.log :从头开始查看 debug.log 日志内容

1.4 more命令

用于查看内容较多的文件,可以用空格键翻页查看后面的内容。

more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]

参数

描述

-num

一次显示的行数

-d

提示使用者,在画面下方显示 [Press space to continue, ‘q’ to quit.] ,如果使用者按错键,则会显示 [Press ‘h’ for instructions.] 而不是 ‘哔’ 声

-l

取消遇见特殊字元 ^L(送纸字元)时会暂停的功能

-f

计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)

-p

不以卷动的方式显示每一页,而是先清除萤幕后再显示内容

-c

跟 -p 相似,不同的是先显示内容再清除其他旧资料

-s

当遇到有连续两行以上的空白行,就代换为一行的空白行

-u

不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)

+/pattern

在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示

+num

从第 num 行开始显示

fileNames

欲显示内容的文档,可为复数个数

例:

more debug.log:查看 debug.log 的日志内容,按下方附加操作滚动日志内容

more debug.log |grep “test”:查看全部关键字 test 关联内容

1.5 head命令

用于查看文件的前n行。

head [参数] [文件]

参数

描述

-q

隐藏文件名

-v

显示文件名

-c<数目>

显示的字节数

-n<行数>

显示的行数

例:

head -n 20 debug.log:查看 debug.log 日志的前 20 行内容

1.6 vim命令

一般VIM是用来编辑文件的,所以不是查看日志的常用命令。但是VIM也是可以实现日志文件内容查看的。

vim [file]

例:

vim debug.log:进入文件。然后,按?关键字,搜寻匹配关键字相关内容!如?getName,则会高亮显示关键字相关内容,按n或shift+n前后滚动日志内容。

退出:按ESC键后,接着再输入 :号 时,vi会在屏幕的最下方等待我们输入命令

wq! 保存退出;

q! 不保存退出;