本教程操作环境:linux7.3系统、Dell G3电脑。
作为一名后端程序员,和Linux打交道的地方很多,不会看Linux日志,非常容易受到来自同事和面试官的嘲讽,所以掌握一种或者几种查看日志的方法非常重要。
Linux查看日志的命令有多种: tail、cat、tac、head、echo等,本文只介绍几种常用的方法。
1、tail--查看实时变化的日志
命令格式:tail[必要参数][选择参数][文件]
- -f 循环读取
- -q 不显示处理信息
- -v 显示详细的处理信息
- -c<数目> 显示的字节数
- -n<行数> 显示行数
- -q, --quiet, --silent 从不输出给出文件名的首部
- -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
用法如下:
tail -n 10 test.log 查询日志尾部最后10行的日志;
tail -n +10 test.log 查询10行之后的所有日志;
tail -fn 10 test.log 循环实时查看最后1000行记录(最常用的)
一般还会配合着grep用,例如 :
- tail -fn 1000 test.log | grep '关键字'
如果一次性查询的数据量太大,可以进行翻页查看,例如:
- tail -n 4700 aa.log |more -1000 可以进行多屏显示(ctrl + f 或者 空格键可以快捷键)
2、head
跟tail是相反的head是看前多少行日志
- head -n 10 test.log 查询日志文件中的头10行日志;
- head -n -10 test.log 查询日志文件除了最后10行的其他所有日志;
head其他参数参考tail
3、cat-搜索关键字附近的日志
cat 是由第一行到最后一行连续显示在屏幕上
最常用的:cat -n filename |grep "关键字"
其他情况:
cat app.log | grep -C 5 '关键字'
(显示日志里匹配字串那行以及前后5行)
cat app.log | grep -B 5 '关键字'
(显示匹配字串及前5行)
cat app.log | grep -A 5 '关键字'
(显示匹配字串及后5行)
扩展知识:
一次显示整个文件 :
- $ cat filename
从键盘创建一个文件 :
- $cat > filename
将几个文件合并为一个文件:
- $cat file1 file2 > file 只能创建新文件,不能编辑已有文件.
将一个日志文件的内容追加到另外一个 :
- $cat -n textfile1 > textfile2
清空一个日志文件:
- $cat : >textfile2
注意:>
意思是创建,>>
是追加。千万不要弄混了。
cat
其他参数参考tail
4、more
more
命令是一个基于vi
编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。more
名单中内置了若干快捷键,常用的有H(获得帮助信息),Enter
(向下翻滚一行),空格(向下滚动一屏),Q
(退出命令)。more
命令从前向后读取文件,因此在启动时就加载整个文件。
该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比:–More–(XX%)
more
的语法:more 文件名
Enter
向下n
行,需要定义,默认为1行Ctrl f
向下滚动一屏- 空格键 向下滚动一屏
Ctrl b
返回上一屏=
输出当前行的行号:f
输出文件名和当前行的行号v
调用vi编辑器!
命令 调用Shell
,并执行命令q
退出more
5、sed
这个命令可以查找日志文件特定的一段 , 根据时间的一个范围查询,可以按照行号和时间范围查询
按照行号
- sed -n '5,10p' filename 这样你就可以只查看文件的第5行到第10行。
按照时间段
- sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p' test.log
6、less
less命令在查询日志时,一般流程是这样的
- less log.log
- shift + G 命令到文件尾部 然后输入 ?加上你要搜索的关键字例如 ?1213
- 按 n 向上查找关键字
- shift+n 反向查找关键字
- less与more类似,使用less可以随意浏览文件,而more仅能向前移动,不能向后移动,而且 less 在查看之前不会加载整个文件。
- less log2013.log 查看文件
- ps -ef | less ps查看进程信息并通过less分页显示
- history | less 查看命令历史使用记录并通过less分页显示
- less log2013.log log2014.log 浏览多个文件
常用命令参数:
- less与more类似,使用less可以随意浏览文件,而more仅能向前移动,不能向后移动,而且 less 在查看之前不会加载整个文件。
- less log2013.log 查看文件
- ps -ef | less ps查看进程信息并通过less分页显示
- history | less 查看命令历史使用记录并通过less分页显示
- less log2013.log log2014.log 浏览多个文件
- 常用命令参数:
- -b <缓冲区大小> 设置缓冲区的大小
- -g 只标志最后搜索的关键词
- -i 忽略搜索时的大小写
- -m 显示类似more命令的百分比
- -N 显示每行的行号
- -o <文件名> 将less 输出的内容在指定文件中保存起来
- -Q 不使用警告音
- -s 显示连续空行为一行
- /字符串:向下搜索"字符串"的功能
- ?字符串:向上搜索"字符串"的功能
- n:重复前一个搜索(与 / 或 ? 有关)
- N:反向重复前一个搜索(与 / 或 ? 有关)
- b 向后翻一页
- h 显示帮助界面
- q 退出less 命令
linux日志文件说明
- /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
- /var/log/secure 与安全相关的日志信息
- /var/log/maillog 与邮件相关的日志信息
- /var/log/cron 与定时任务相关的日志信息
- /var/log/spooler 与UUCP和news设备相关的日志信息
- /var/log/boot.log 守护进程启动和停止相关的日志消息
- /var/log/wtmp 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件
1.本站所有内容只做学习和交流使用。 版权归原作者所有。
2.保证站内提供的所有可下载源码资源(软件等)都是按“原样”提供,本站未做过任何改动;但本网站不保证本站提供的下载资源的准确性、安全性和完整性;同时本网站也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害。
3.本站部分内容均收集于网络!如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。请联系站长邮箱:admin#ibian.online(#换成@)处理!