如何快速查看Linux日志?
因为在生产环境会遇到很多问题,那么最快的定位方式莫过于去看日志,我们都知道服务器每天会产生大量的日志,那么如何快速的定位也就是最关键的。
本文介绍六种查看日志的命令:tail、head、cat、more、less、sed。
一、tail
1.1 命令功能
tail 命令从指定点开始将文件写到标准输出。
1.2 命令格式
tail[必要参数][选择参数][文件]
1.3 命令参数
-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c<数目> 显示的字节数
-n<行数> 显示行数
-q, --quiet, --silent 从不输出给出文件名的首部
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
1.4 使用实例
tail  -n  10   file.log   查询日志尾部最后10行的日志;
tail  -n +10   file.log   查询第10行之后的所有日志;
tail  -fn 100   file.log   循环实时查看最后100行记录
- tail一般还会配合着- grep用
tail -fn 1000 file.log | grep '关键字'
- 如果查询的数据量太大,Ctrl + F或者 空格键可以翻页查看
tail -n 5000  file.log |more -1000
二、head
2.1 命令功能
head跟tail是相反,用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
head -n  10  file.log   查询日志文件中的头10行日志;
head -n -10  file.log   查询日志文件除了最后10行的其他所有日志;
2.2 命令格式
tail[必要参数][选择参数][文件]
2.3 命令参数
参考tail
三、cat
3.1 命令功能
- 一次显示整个文件:cat filename
- 从键盘创建一个文件(只能创建新文件,不能编辑已有文件):cat > filename
- 将几个文件合并为一个文件:cat file1 file2 > file
3.2 命令格式
cat [选项] [文件]...
3.3 命令参数
-A, --show-all           等价于 -vET
-b, --number-nonblank    对非空输出行编号
-e                       等价于 -vE
-E, --show-ends          在每行结束处显示 $
-n, --number     对输出的所有行编号,由1开始对所有输出的行数编号
-s, --squeeze-blank  有连续两行以上的空白行,就代换为一行的空白行
-t                       与 -vT 等价
-T, --show-tabs          将跳格字符显示为 ^I
-v, --show-nonprinting   使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
3.4 使用实例
- 把 file1.log的文件内容加上行号后输入file2.log这个文件里
cat -n file1.log file2.log
- 把 file1.log和file2.log的文件内容加上行号(空白行不加)之后将内容附加到file.log里
cat -b file1.log file1.log file.log
- 把 file1.log的文件内容加上行号后输入file.log这个文件里
cat -n file1.log > file.log
tac是将cat反写过来,所以他的功能就跟cat相反
四、more
4.1 命令功能
more命令和cat的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能。
4.2 命令语法
more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ]
4.3 命令参数
+n      从笫n行开始显示
-n       定义屏幕大小为n行
+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示
-c       从顶部清屏,然后显示
-d       提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能
-l        忽略Ctrl+l(换页)字符
-p       通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
-s       把连续的多个空行显示为一行
-u       把文件内容中的下画线去掉
4.4 常用操作命令
Enter 向下n行,需要定义,默认为1行
Ctrl + F 向下滚动一屏
空格键 向下滚动一屏
Ctrl + B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
V 调用vi编辑器
!命令 调用Shell,并执行命令
q 退出more
4.5 使用示例
- 显示文件中从第3行起的内容
more +3 file.log
- 从文件中查找第一个出现test字符串的行,并从该处前两行开始显示输出
more +/test file.log
- 设定每屏显示行数
more -5 log2012.log
五、less
5.1 命令功能
less与more类似,使用less可以随意浏览文件,而more仅能向前移动,不能向后移动,而 less 既可以向前移动,也可以向后移动。
5.2 命令格式
less [参数]  文件
5.3 命令参数
-b <缓冲区大小> 设置缓冲区的大小
-e  当文件显示结束后,自动离开
-f  强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-g  只标志最后搜索的关键词
-i  忽略搜索时的大小写
-m  显示类似more命令的百分比
-N  显示每行的行号
-o <文件名> 将less 输出的内容在指定文件中保存起来
-Q  不使用警告音
-s  显示连续空行为一行
-S  行过长时间将超出部分舍弃
-x <数字> 将“tab”键显示为规定的数字空格
5.4 常用操作命令
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
b  向后翻一页
d  向后翻半页
h  显示帮助界面
Q  退出less 命令
u  向前滚动半页
y  向前滚动一行
空格键 滚动一行
回车键 滚动一页
[pagedown]: 向下翻动一页
[pageup]:   向上翻动一页
5.5 less命令在查询日志时,一般流程是这样的
- less file.log
- shift + G命令到文件尾部 然后输入- ?加上你要搜索的关键字例如:- ?test
- 按 n向上查找关键字
- shift + n反向查找关键字
六、sed
6.1 命令功能
这个命令可以查找日志文件特定的一段 , 根据时间的一个范围查询,可以按照行号和时间范围查询
6.2 使用示例
- 按照行号:只查看文件的第5行到第10行
sed -n '5,10p' file.log
- 按照时间段
sed -n '/2019-12-17 16:17:20/,/2019-12-17 16:17:36/p'  file.log
七、技术交流
如何快速查看Linux日志?的更多相关文章
- 拒绝蛮力,高效查看Linux日志文件!
		原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处. 简介 日常分析问题时,会频繁地查看分析日志,但如果蛮力去查看日志,耗时费力还不一定有效果,因此我总结了在Linux常用的 ... 
- 如何快速查看linux的发行版信息
		思路一: 在CentOS中想查看发行版信息,输入了lsb_release -a 命令却报错了,通过输入以下命令进行安装 yum install redhat-lsb -y 然后继续查看发行版信息 [r ... 
- 快速查看linux命令的用法----------TLDR
		之前我们如果用一个命令,但是忘了具体的参数是什么的时候,通常会用man,比如 man tar 但是man有时候特别的冗长,你要找到想要的例子非常困难,所以tldr命令就是一个很好的补充,里边会有经常用 ... 
- S-HR快速查看shr日志
		http://localhost:6888/shr/appData.do?method=getApplicationLog&logFile=apusic.log.0&instance= ... 
- 使用logdashboard查看可视化日志
		logdashboard 日志面板是我在Github写的一个开源项目,旨在让查看日志变的方便快捷.在线预览 现在功能有日志检索.趋势图.异常堆栈快速查看.日志详情等 logdashboard支持自定义 ... 
- 查看Linux是32位还是64位的方法
		发布:JB01 来源:脚本学堂 [大 中 小] 本文介绍下,快速查看linux系统是32位还是64位的方法,有需要的朋友参考下吧. 本节内容:查看linux操作系统的位数 一,方法A:un ... 
- Linux日志系统分析:rsyslog、syslog和klog
		参考博客: https://blog.csdn.net/lidonghat/article/details/55004280 https://blog.csdn.net/u012247418/arti ... 
- 如何实时查看linux下的日志
		Linux日志文件在/var/log目录下,可以通过命令查看日志文件. 1,cat messages可以查看某个日志文件. 2,要达到实时更新,可以通过tail命令查看更新的数据,例如tail -f ... 
- 如何查看linux系统下的各种日志文件 linux 系统日志的分析大全
		日志分类: 1. 连接时间的日志 连接时间日志一般由/var/log/wtmp和/var/run/utmp这两个文件记录,不过这 两个文件无法直接cat查看,并且该文件由系统自动更新,可以通过如下: ... 
随机推荐
- $loj\ 6045$ [雅礼集训 $2017\ Day8$] 价 网络流
			正解:网络流 解题报告: 传送门$QwQ$ 这题还,挺有趣的我$jio$得. 考虑依然先是照着最小割的模子建图呗,然后从意义上来分析,割一条边就相当于不吃一种减肥药/买一种药材.由已知得,买的药材数量 ... 
- Linux磁盘管理之LVM
			一.LVM介绍 在我们管理Linux磁盘的时候,通常会遇到这么一种情况.在最初规划Linux的磁盘的时候,我们给某个分区划分了一定量的磁盘空间,使用一段时间后,发现我们规划的磁盘空间不足了,这个时候怎 ... 
- js中的事件冒泡
			事件冒泡和阻止事件冒泡: 事件冒泡的原理:从实际操作的元素(事件)向上级父元素一级一级执行下去,直到达到document/window,冒泡过程结束.例如:假设我有一个 div 盒子,里面嵌套了1个子 ... 
- 机器学习回顾篇(14):主成分分析法(PCA)
			.caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ... 
- java中一些常考知识
			一.static的作用 static是修饰符,用于修饰成员变量(静态变量/类变量). static修饰的成员被所有对象共享. static优先于对象存在. static修饰的成员可以用类名.静态成员来 ... 
- ZooKeeper Java Example
			A Simple Watch Client Requirements Program Design The Executor Class The DataMonitor Class Complete ... 
- C#调用Fortran生成的DLL的方法报内存不足
			最近在研究一个程序,公司给的,程序是VB写的,程序里面还有一个计算的模型,用Fortran语言写的. 在调试到这个模型里面的方法时报错,说是内存不足,于是就在网上查找方法,看了两篇博客之后问题解决了. ... 
- 1z0-062 题库解析5
			题目: Which three statements are true about Flashback Database? A. Flashback logs are written sequenti ... 
- Redis 通配符批量删除key
			问题: 线上有部分的redis key需要清理. 一. 由于Keys模糊匹配,请大家在实际运用的时候忽略掉.因为Keys会引发Redis锁,并且增加Redis的CPU占用,情况是很恶劣的, 官网说明如 ... 
- border-radius属性失效了Ծ‸Ծ
			.btn-circle { width: 30px; height: 30px; text-align: center; padding: 4px ; font-size: 16px; font-we ... 
