做为一名后端程序员,和Linux打交道的地方不少,不会看Linux日志,很是容易受到来自同事和面试官的嘲讽,因此掌握一种或者几种查看日志的方法很是重要。javascript
Linux查看日志的命令有多种: tail、cat、tac、head、echo等,本文只介绍几种经常使用的方法。java
这个是我最经常使用的一种查看方式linux
命令格式: 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 或者 空格键能够快捷键)
跟tail是相反的head是看前多少行日志安全
head -n 10 test.log 查询日志文件中的头10行日志; head -n -10 test.log 查询日志文件除了最后10行的其余全部日志;
head其余参数参考tail网络
cat 是由第一行到最后一行连续显示在屏幕上多线程
一次显示整个文件 :less
$ cat filename
从键盘建立一个文件 :
$cat > filename
将几个文件合并为一个文件:
$cat file1 file2 > file 只能建立新文件,不能编辑已有文件.
将一个日志文件的内容追加到另一个 :
$cat -n textfile1 > textfile2
清空一个日志文件:
$cat : >textfile2
注意:>
意思是建立,>>
是追加。千万不要弄混了。
cat
其余参数参考tail
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
这个命令能够查找日志文件特定的一段 , 根据时间的一个范围查询,能够按照行号和时间范围查询
按照行号
sed -n '5,10p' filename 这样你就能够只查看文件的第5行到第10行。
按照时间段
sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p' test.log
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 命令
history // 全部的历史记录 history | grep XXX // 历史记录中包含某些指令的记录 history | more // 分页查看记录 history -c // 清空全部的历史记录 !! 重复执行上一个命令 查询出来记录后选中 : !323
/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 该日志文件永久记录每一个用户登陆、注销及系统的启动、停机的事件
水文一篇没什么含金量,只为给你们温习一下功课
WeChat:关注公重号:【程序员内点事】,免费获取2000G学习资料,内含精选面试题,SSM、Spring全家桶、微服务、MySQL、MyCat、集群、分布式、中间件、Linux、网络、多线程,Jenkins、Nexus、Docker、ELK等等免费学习视频,持续更新!