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! 不保存退出;