Linux系统诊断必备技能之二:日志查询常用命令详解
一、概述
日常运维工作中,排查线上环境问题,少不了去线上查日志。而使用什么命令,能快速准确地查到我们需要查找地日志信息,也是我们需要掌握的一项技能。下面介绍一下日常工作常用到的查看日志命令:tail,head,cat,tac,more,less。
二、命令详解
1、tail 命令
参数: 1)-f 循环读取
2)-q 不显示处理信息
3)-v 显示详细的处理信息
4)-c<数目> 显示的字节数
5)-n<行数> 显示行数
常用命令演示:
| 命令 | 含义 |
|---|---|
| tail -f test.log | 查看实时日志 |
| tail -100f test.log | 查看最后100行日志记录 |
| tail -n 10 test.log | 查询日志尾部最后10行的日志 |
| tail -n +10 test.log | 查询10行之后的所有日志 |
| tail -fn 100 test.log | 循环实时查看最后100行记录 |
2、 head 命令
head命令的功能跟tail是相反的,是查看最前的日志信息,tail是查看后多少行日志。
| 命令 | 含义 |
|---|---|
| head -n 10 test.log | 查询日志文件中的前10行日志 |
| head -n -10 test.log | 查询日志文件除了最后10行的其他所有日志 |
3、cat 命令
功能
1)一次显示整个文件。 cat filename
2)创建一个文件。 cat > filename
3)将几个文件合并为一个文件。 cat file1 file2 > file
参数:
1)-n 由1开始对所有输出的行数编号
2)-b 和-n相似,只不过对于空白行不编号
3)-s 当遇到有连续两行以上的空白行,就代换为一行的空白行
4)-c<数目> 显示的字节数
5)-n<行数> 显示行数
应用
| 命令 | 含义 |
|---|---|
| cat test.log | tail -n 1000 | 输出test.log 文件最后1000行 |
| cat -n test.log |grep “debug” | 得到关键日志的行号 |
| cat filename | tail -n +3000 | head -n 1000 | 从第3000行开始,显示1000行。即显示3000~3999行 |
| cat filename| head -n 3000 | tail -n +1000 | 显示1000行到3000行 |
| cat -n textfile1 > textfile2 | 把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里 |
| cat -b textfile1 textfile2 >> textfile3 | 把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里 |
4、tac 命令
tac是将cat反写过来,它的功能跟cat相反,cat是由第一行到最后一行连续显示,而tac是由最后一行到第一行反向显示。
5、more 命令
类似cat,不过以一页一页形式显示。基本指令按空白键(space)往下一页显示,按返回键(back)往上一页显示,还有字符搜索功能(与vi相似)
参数 -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 行开始显示
应用
| 命令 | 含义 |
|---|---|
| more -s test.log | 逐页显示日志,如有连续两行以上空白行则以一行空白行显示 |
| more +20 test.log | 从第 20 行开始显示日志内容 |
6、grep 命令
上面几个命令都是用在查找文件内容时比较方便,而在查找文件时,我们往往需要通过某些关键字查找,grep命令就可以帮助我们实现快速查找。
应用:
[root@localhost ~]# more /var/log/dmesg |grep 'XFS' //根据某退货号查询日志

Linux系统诊断必备技能之二:日志查询常用命令详解的更多相关文章
- Linux系统诊断必备技能之三:查看信息系统常用命令
一.概述 Linux操作系统的学习中,CLI下进行操作,需要掌握大量命令,Linux的命令有很多,对于命令的学习大家记住只能是熟能生巧,所以现在把日常使用命令为大家罗列一部分,仅供参考. 二.常用命令 ...
- Linux系统诊断必备技能之二:tcpdump抓包工具详解
一.简述 TcpDump可以将网络中传送的数据包完全截获下来提供分析.它支持针对网络层.协议.主机.网络或端口的过滤,并提供and.or.not等逻辑语句来帮助你去掉无用的信息. Linux作为网络服 ...
- Linux防火墙iptables学习笔记(三)iptables命令详解和举例[转载]
Linux防火墙iptables学习笔记(三)iptables命令详解和举例 2008-10-16 23:45:46 转载 网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能 ...
- Linux常用命令详解上
Linux常用命令详解上 目录 一.shell 二.Linux命令 2.1.内部命令与外部命令的区别 2.2.Linux命令行的格式 2.3.编辑Linux命令行的辅助操作 2.4.获得命令帮助的方法 ...
- Linux常用命令详解下
Linux常用命令详解 目录 一.Linux常用命令 1.1.查看及切换目录(pwd.cd.ls.du) 1.2.创建目录和文件(mkdir.touch.ln) 1.3.复制.删除.移动目录和文件(c ...
- Linux部分常用命令详解(二)
date 命令详解 date命令可以按照指定格式显示日期,只键入date则以默认格式显示当前时间 例如: 如果需要以指定的格式显示日期,可以使用“+”开头的字符串指定其格式,详细格式如下: %n : ...
- Git 常用命令详解(二)
Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...
- 【转】 Git 常用命令详解(二)----不错
原文网址:http://blog.csdn.net/ithomer/article/details/7529022 Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如: ...
- Linux/CentOS 服务安装/卸载,开机启动chkconfig命令详解|如何让MySQL、Apache开机启动?
chkconfig chkconfig在命令行操作时会经常用到.它可以方便地设置和查询不同运行级上的系统服务.这个可要好好掌握,用熟练之后,就可以轻轻松松的管理好你的启动服务了. 注:谨记chkcon ...
随机推荐
- windows下部署Grafana +prometheus平台监控
1.Prometheus简介 Prometheus基于Golang编写,编译后的软件包,不依赖于任何的第三方依赖.用户只需要下载对应平台包,解压并且添加基本的配置即可正常启Prometheus S ...
- Mybatis执行流程学习之手写mybatis雏形
Mybatis是目前开发中最常用的一款基于ORM思想的半自动持久层框架,平时我们都仅仅停留在使用阶段,对mybatis是怎样运行的并不清楚,今天抽空找到一些资料自学了一波,自己写了一个mybatis的 ...
- linux设备文件
一.前言 在调用了alloc_chrdev_region函数或register_chrdev_region函数之后可以在/proc/devices中看到该设备的主设备号,比如我注册的hello模块的主 ...
- 从零开始学spring源码之ioc预热:bean的拓展和beanProcessor注册
上篇聊完了bean的解析,说起来做的事情很简单,把xml文件里面配置的标签全部解析到spring容器里面,但是spring做的时候,花了那么大代价去做,后面看看到底值不值得呢. 接下来看看prepar ...
- 网络编程-I/O复用
I/O模型 Unix下可用的I/O模型有五种: 阻塞式I/O 非阻塞式I/O I/O复用(select和poll.epoll) 信号驱动式I/O(SIGIO) 异步I/O(POSIX的aio_系列函数 ...
- 一个关于时区的bug
起因: 在 Apollo 中配置了某活动的开始时间是 2020-05-15, 代码中的逻辑判断如下: const nowTime = new Date().getTime(); const start ...
- WPF TabControl美化
<Window.Resources> <!-- TabItem的样式 --> <Style TargetType="{x:Type TabItem}" ...
- 接口新建学习---HTTP请求默认值
一.HTTP请求默认值 1.使用场景: 每次访问论坛的地址(服务器名称或IP)是不变的,端口也是不变的,协议也是不变的(http协议),测试的时候需要每个请求都要写一遍,在我们的HTTP请求取样器数量 ...
- threading.RLock()
# Copyright 2001-2017 by Vinay Sajip. All Rights Reserved.## Permission to use, copy, modify, and di ...
- (Oracle)DDL及其数据泵导入导出(impdp/expdp)
create tablespace ybp_dev datafile 'G:\app\Administrator\oradata\health\ybp_dev1.dbf' size 10m autoe ...