因为在生产环境会遇到很多问题,那么最快的定位方式莫过于去看日志,我们都知道服务器每天会产生大量的日志,那么如何快速的定位也就是最关键的。

本文介绍六种查看日志的命令: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的发行版信息

思路一: 在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查看,并且该文件由系统自动更新,可以通过如下: ...

Linux下查看alert日志文件的两种方法

--linux下查看alert日志文件的两种方法: --方法1: SQL> show parameter background_dump_dest; NAME TYPE VALUE ------ ...

随机推荐

断电不断网——Linux的screen

title: 断电不断网--Linux的screen author:青南 date: 2015-01-01 20:20:23 categories: [Linux] tags: [linux,scre ...

Mysql数据库的使用总结之Innodb简介

最近在对开发的软件的服务器部分制作安装包,但服务器部分需要有mysql数据库的支持.因此,采用免安装版的mysql策略:将mysql数据库需要的文件在安装程序中进行设置和打包即可.但也遇到了很多问题 ...

COGS1008. 贪婪大陆[树状数组 模型转换]

1008. 贪婪大陆 ★★   输入文件:greedisland.in   输出文件:greedisland.out   简单对比时间限制:1 s   内存限制:128 MB 试题四:贪婪大陆  [题 ...

opengl常用函数

glAccum 操作累加缓冲区   glAddSwapHintRectWIN 定义一组被 SwapBuffers拷贝的三角形   glAlphaFunc允许设置alpha检测功能   glAreTex ...

jquery Jsonp 跨域访问

$(function () { $.ajax({ url: 'http://ihisuns.vicp.cc:8765/PcClient.aspx', data: { "ModuleName& ...

eclipse 中忽略jsp, xml文件中的报错信息

有的时候, 在eclipse中, jsp, xml 文件时运行的好好的, 可是就是在eclipse中报错, 虽然不影响功能, 但看起来很烦, 去掉这些错误警告的方法是: Windows-Prefere ...

解决ie6显示透明图的问题

在我们设置png透明图片时,其他浏览器都显示很正常,唯独只有ie6看着不是透明的状态. 第一种办法是:单独设置ie6的样式.例: _background: none; _filter:progid:D ...

Clock network

https://en.wikipedia.org/wiki/Clock_network

MailTest

GridBagLayout把一个界面分为m行n列的网格 GridBagConstraints的一个实例:gridx = 2; // X2,表示组件位于第2列gridy = 0; // Y0,表示组件位 ...

vue+原生JavaScript实现slideDown与slideUp[简单思路]

整个代码如下:

怎么快速搜索linux的日志,如何快速查看Linux日志?相关推荐

  1. LINUX下用CTRL+R快速搜索HISTORY历史命令,快速索引到之前使用过的命令行语句

    LINUX下用CTRL+R快速搜索HISTORY历史命令,快速索引到之前使用过的命令行语句 前提是,搜索已经使用的命令,否则是查不出来结果的. ctrl+r 用途:反向搜索执行过的命令.(revers ...

  2. 用计算机查找文件地址吗,如何快速搜索电脑里的文件( 快速准确定位和查找电脑文件位置的方法...

    今天给大家带来如何快速搜索电脑里的文件(,快速准确定位和查找电脑文件位置的方法,让您轻松解决问题. 怎样快速搜索电脑里的文件 如何快速准确定位和查找电脑文件位.我们在使用电脑的时候,经常需要进行一些操 ...

  3. linux日志文件怎么查看,linux 日志文件查看

    记录下日志中常用的日志查看命令. 1.  tail -n 10 -f  **.log 显示日志文件尾部10行日志,当有新日志产生,会追加显示. 2. tail 命令 现ff.sh中有如下信息: [ro ...

  4. 服务器删除登录日志文件,CentOS查看登录日志及其它安全日志 清空删除系统日志的方法...

    总结下CentOS下查看登录日志及其它相关安全日志的方法. 查看ssh用户的登录日志 # tail /var/log/secure 查看登录成功的用户信息 # last 查看登录失败的用户信息 # l ...

  5. linux设置用户密码、查看linux用户信息、root用户管理普通用户(passwd命令使用)

    1 切换root用户和给root用户设置密码 1.1 切换到root用户 1.使用su 命令 或 su root命令切换到root用户的时候报错:su: Authentication failure ...

  6. 【Linux 内核】编译 Linux 内核 ② ( 解压内核源码 | 查询当前 Linux 内核版本号 | 进入并查看 linux 内核源码目录 )

    文章目录 一.解压内核源码 二.查询当前 Linux 内核版本号 三.进入并查看 linux 内核源码目录 一.解压内核源码 将 下载的 Linux 内核源码 linux-5.6.14.tar.gz ...

  7. 查看linux电脑总内存,如何查看Linux系统中的内存使用情况的命令呢?

    有些命令可用于检查Linux系统中的内存使用情况.这是一些更好的命令. 有很多工具可以查看Linux系统中的内存使用情况.一些命令被广泛使用,例如free和ps.其他命令允许以多种方式显示系统的性能统 ...

  8. mysql 日志大小_查看mysql日志文件大小和数据库大小

    查看数据库日志文件的大小 show binary logs; 删除bin-log(删除mysql-bin.00000*小于mysql-bin.000003所有日志) purge binary logs ...

  9. 查看linux的系统命令,命令行查看Linux的系统版本和内核版本以及机器字长

    查看Linux版本 1.  lsb_release -a        (适用于所有linux) 复制代码 代码如下: LSB Version: :base-4.0-ia32:base-4.0-noa ...

  10. 查看php的错误日志文件,php查看错误日志

    php查看错误日志: 一.相关配置 需要将php.ini中的配置指令做如下修改: 1.error_reporting = E_ALL ;将会向PHP报告发生的每个错误 2.display_errors ...

最新文章

  1. 干货|十大产业方向深度解析!《2020科技产业趋势报告》
  2. mysql全量备份与增量备份_Mysql增量备份与全量备份
  3. java.io.StreamCorruptedException: invalid stream header: EFBFBDEF 问题解决
  4. OpenCV移植各向异性图像分割间隙流体的实例(附完整代码)
  5. 7.4.6 核PCA
  6. Visual Studio Code设置断点时出现Unverified breakpoint该咋办
  7. zabbix自动发现主机并加入组绑定模板
  8. 马拉松教会我_社区教会了我关于开放组织的知识
  9. windows2003开机自动登陆桌面
  10. Sql server 分解字符串(实现split)
  11. Android SDK 无法连接到GOOGLE 下载安装包
  12. 通过CN3口直接控制台达伺服电机A2-M(一)
  13. 安装Eplan时报错的解决方案
  14. ssm企业人事管理系统人事管理系统(企业人事管理系统)企业人事人力资源管理系统
  15. catia v5法矢数据软件_CATIA V5 Start Model车身建模
  16. sso单点登录系统(精华篇)
  17. springboot微信登陆
  18. 跨境电商必看:amazon账号关联因素
  19. 谷歌分析数据导入4种方式
  20. oracle dbms_utility,dbms_utility的两个有用方法

热门文章

  1. 好的APP用户体验需要满足这5点要求,你做到了吗?
  2. 2022年安全员-B证考试题库模拟考试平台操作
  3. 爬取7160网站总是不成功。。。求大神分析分析
  4. filebrowser实现私有网盘
  5. 对象存储OSS之ossbrowser的使用
  6. 现在梦三国2服务器不稳定,《梦三国2》拒绝卡顿 从自我电脑优化开始
  7. java中jframe是什么_java中JFrame是什么
  8. 算法与数据结构学习(46)-B树、B+树和B*树
  9. 以实验理解交换机原理
  10. Android证书生成(android studio)