Linux环境下查看日志文件命令详解

目录
  • 前言
  • 一、cat命令:
  • 二、more命令:
  • 三、less命令:
  • 四、head命令:
  • 五、tail命令:
  • 六、tac命令:
  • 七、echo命令:
  • 八、grep命令:
  • 九、sed命令:
  • 混合命令:
  • 附加:

前言

当日志存储文件很大时,我们就不能用 vi 直接去查看日志了,就需要Linux的一些内置命令去查看日志文件.

系统Log日志位置:

/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一

/var/log/secure 与安全相关的日志信息

/var/log/maillog 与邮件相关的日志信息

/var/log/cron 与定时任务相关的日志信息

/var/log/spooler 与UUCP和news设备相关的日志信息

/var/log/boot.log 守护进程启动和停止相关的日志消息

一、cat命令:

参数:
-n 或 --number 由 1 开始对所有输出的行数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 --show-nonprinting
-E --show-ends 在每行结束处显示 $
-e --等价于-vE

cat主要有三大功能:
1. $ cat filename 一次显示整个文件。
2. $ cat > filename 从键盘创建一个文件。(只能创建新文件,不能编辑已有文件)
3. $ cat filename1 filename2 > filename 将几个文件合并为一个文件(如果原本file文件中有内容,会被覆
   盖掉) 盖掉) 

例:
把 file1 的内容加上行号后输入到 file2 这个文件里
cat -n filename1 > filename2

把 file1 和 file2 的内容加上行号(空白行不加)之后将内容追加到 file3 里
cat -b filename1 filename2 >> filename3  

把test.txt文件扔进垃圾箱,赋空值test.txt
cat /dev/null > /etc/test.txt   

注意:>意思是创建,>>是追加。千万不要弄混了。

二、more命令:

more 命令是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。
该命令一次显示一屏文本信息,满屏后停下来,以百分比的形式,以上下翻页,以上下行移动显示查看日志并且在屏幕
的底部给出一个提示信息,从开始至当前己显示的该文件的百分比:–More–(XX%)

 **按键                                                    **说明**
 按Space键:                                       显示文本的下一屏内容。
 按B键:                                             显示上一屏内容。
 按Enter键:                                      只显示文本的下一行内容。
 按斜线符:                            接着输入一个模式,可以在文本中寻找下一个相匹配的模式。
 按H键:                                     显示帮助屏,该屏上有相关的帮助信息。
 按Q键:                                              退出more命令

三、less命令:

less 命令查看日志,和more命令类似,只不过less支持上下键前后翻阅文件。

四、head命令:

参数:
-q 隐藏文件名
-v 显示文件名
-c 显示字节数
-n 显示的行数

从文本文件的头部开始查看,head 命令用于查看一个文本文件的开头部分。

例:
head filename 或 head -n 10 显示文本文件 file 的前十行内容,然后退出命令
head -n 20 filename 显示文本文件 file 的前二十行内容
head -n -10 filename 显示文本文件除了最后10行的其他所有文本文件信息

五、tail命令:

tail 命令用于显示文本文件的末尾内容(默认10行,相当于增加参数 -n 10),并且实时不断有内容被打印出来,
  若想中断进程,使用命令 Ctrl-C

参数:
tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ] 

参数解释:
-f 该参数用于监视File文件增长。
-c Number 从 Number 字节位置读取指定文件
-n Number 从 Number 行位置读取指定文件。
-m Number 从 Number 多字节字符位置读取指定文件,比方你的文件假设包括中文字,假设指定-c参数,可能导致
   截断,但使用-m则会避免该问题。
-b Number 从 Number 表示的512字节块位置读取指定文件。
-k Number 从 Number 表示的1KB块位置读取指定文件。 

File 指定操作的目标文件名称
上述命令中,都涉及到number,假设不指定,默认显示10行。Number前面可使用正负号,表示该偏移从顶部还是从尾
  部开始计算。 

tail 可运行文件一般在/usr/bin/以下。

tail -f filename 监视filename文件的尾部内容(默认10行,相当于增加参数 -n 10)
tail -100f filename 监视filename文件的尾部内容(默认从底部往前100行,相当于增加参数 -n 100)
tail -n 20 filename 显示filename最后20行
tail -r -n 10 filename 逆序显示filename最后10行

六、tac命令:

tac (反向查看日志,会打开整个文件,倒序显示,不常用)

tac 是将 cat 反写过来,所以他的功能就跟 cat 相反。

cat 是由第一行到最后一行连续显示在屏幕上,而 tac 则是由最后一行到第一行反向在萤幕上显示出来

七、echo命令:

echo 命令用来在标准输出上显示一段字符
echo [ -n ] 字符串其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号
echo "the echo command test!"
echo "the echo command test!">filename 输出内容到文件

用 echo 命令输出加引号的字符串时,将字符串原样输出
用 echo 命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割

八、grep命令:

grep 同时满足多个关键字和满足任意关键字,是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹
  配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,显示完自动退
  出命令

grep [options]
参数:
[options]参数:
-c:只输出匹配行的计数
-I:不区分大 小写(只适用于单字符)
-h:查询多文件时不显示文件名
-l:查询多文件时只输出包含匹配字符的文件名
-n:显示匹配行及 行号
-s:不显示不存在或无匹配文本的错误信息
-v:显示不包含匹配文本的所有行
-A: 显示匹配行及前面多少行, 如: -A3, 则表示显示匹配行及前3行
-B: 显示匹配行及后面多少行, 如: -B3, 则表示显示匹配行及后3行
-C: 显示匹配行前后多少行, 如: -C3, 则表示显示批量行前后3行

pattern正则表达式主要参数:
: 忽略正则表达式中特殊字符的原有含义
^:匹配正则表达式的开始行
$: 匹配正则表达式的结束行
<:从匹配正则表达 式的行开始
>:到匹配正则表达式的行结束
[ ]:单个字符,如[A]即A符合要求
[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求
。:所有的单个字符
- :有字符,长度可以为0

例
grep -n "word" filename 查看文件包含条件的日志,全部显示出来(单引号或者双引号都可以,不区分)
grep -E "word1|word2|word3" filename 满足任意条件(word1、word2和word3之一)将匹配的内容全部打
  印出来
grep word1 filename | grep word2 |grep word3 必须同时满足三个条件(word1、word2和word3)才匹配
  多管道,多次筛选

使用正则表达式 -E 选项
grep -E "[1-9]+" 或 egrep "[1-9]+"

grep -A100 'word' filename 显示匹配行往后100行
grep -B100 'word' filename 显示匹配行往前100行
grep -C100 'word' filename 显示匹配行往前往后100行

九、sed命令:

sed 本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作

参数

-n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但如果加
  上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。
-p ∶列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作~
-s ∶取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g

例
sed -n '5,10p' filename 只查看文件的第5行到第10行
sed -n '/2019-01-04 21:30:00/,/2019-01-04 22:30:30/p' filename 只查看文件包含时间段的区间内容

混合命令:

tail -n +92表示查询92行之后的日志
tail filename -n 300 -f 查看底部即最新300条日志记录,并实时刷新
tail -f filename | grep -E 'word1|word2|word3' 实时打印出匹配规则的文件内容(注意或符号前后最好
  不要有空格)

cat -n filename |grep “地形” | more 得到关键日志的行号
cat -n filename |tail -n +92|head -n 20

grep 'nick' | tail filename -C 10 查看字符‘nick'前后10条日志记录, 大写C

head -n 20 则表示在前面的查询结果里再查前20条记录

附加:

vi filename 查看或编辑文件
查找文件内容关键字方法:
先 执行命令>:  vi      filename
然后输入>:   /查找字符串
按n查找下一个

例
如查找nohup.out日志文件的error关键字:
执行命令:         vi  nohup.out
输入以下回车:      /error
按n查找下一个
将实时日志打印到指定文件:

例
将实时日志打印到文件newlog.log内,方便查找
执行命令:   tail  -f  nohup.out   >newlog.log
备注:newlog.log文件可以不存在,命令执行时会自动新建

到此这篇关于Linux环境下查看日志文件命令详解的文章就介绍到这了,更多相关Linux查看日志文件命令内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • linux tail 查看日志文件方法

    tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容. 1.命令格式; tail[必要参数][选择参数][文件] 2.命令功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理.常用查看日志文件. -f 循环读取 -q 不显示处理信息 -v 显示详细的处理信息 -c<数目> 显示的字节数 -n<行数>

  • 总结Linux 6种日志查看方法

    作为一名后端程序员,和Linux打交道的地方很多,不会看Linux日志,非常容易受到来自同事和面试官的嘲讽,所以掌握一种或者几种查看日志的方法非常重要. Linux查看日志的命令有多种: tail.cat.tac.head.echo等,本文只介绍几种常用的方法. 1.tail 这个是我最常用的一种查看方式 命令格式: tail[必要参数][选择参数][文件] -f 循环读取 -q 不显示处理信息 -v 显示详细的处理信息 -c<数目> 显示的字节数 -n<行数> 显示行数 -q,

  • Linux环境下查看日志文件命令详解

    目录 前言 一.cat命令: 二.more命令: 三.less命令: 四.head命令: 五.tail命令: 六.tac命令: 七.echo命令: 八.grep命令: 九.sed命令: 混合命令: 附加: 前言 当日志存储文件很大时,我们就不能用 vi 直接去查看日志了,就需要Linux的一些内置命令去查看日志文件. 系统Log日志位置: /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 /var/log/secure 与安全相关的日志

  • linux环境下Django的安装配置详解

    1. 下载安装Django pip install Django==1.6.5 测试是否安装成功 >>> import django>>> django.VERSION (1, 6, 5, 'final', 0) 2. 安装数据库MySQL 说明:使用python连接到MySQL前提是需要让一个python连接到MySQL的接口--MySQLdb 下载 安装 tar xfz MySQL-python-1.2.1.tar.gz cd MySQL-python-1.2.1

  • Linux/Unix环境下的Make和Makefile详解

    Linux/Unix环境下的Make和Makefile详解 无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令.不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或make install.利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和makefile工具就可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系.而且如此多的源文件,如果每次都要键入gcc命令进行编译的话,那对程序员来说简

  • Linux系统下mysqlcheck修复数据库命令(详解)

    mysqlcheck客户端工具可以检查和修复MyISAM表,还可以优化和分析表. 实际上,它集成了mysql工具中check.repair.analyze.optimize的功能. 有3种方式来调用mysqlcheck: shell> mysqlcheck[options] db_name [tables] shell> mysqlcheck[options] ---database DB1 [DB2 DB3...] shell> mysqlcheck[options] --all--d

  • 一天一个shell命令 linux文本操作系列-head,tail命令详解

    head命令中文介绍: 用法:head [选项]... [文件]... 将每个指定文件的头10 行显示到标准输出. 如果指定了多于一个文件,在每一段输出前会给出文件名作为文件头. 如果不指定文件,或者文件为"-",则从标准输入读取数据. 长选项必须使用的参数对于短选项时也是必需使用的. -c, --bytes=[-]K 显示每个文件的前K 字节内容: 如果附加"-"参数,则除了每个文件的最后K字节数据外 显示剩余全部内容 -n, --lines=[-]K 显示每个文

  • Linux查看系统配置常用命令详解

    本文为大家分享了Linux查看系统配置常用命令,供大家参考,具体内容如下 系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 # lsmod # 列出加载的内核模块 # env # 查看环境变量 资源 # free -m #

  • Linux 中的export与alias命令详解

    目录 一.alias 二.export 摘要:export和alias都是用来简化命令行输入的工具.export用于设置环境变量,环境变量是一些系统级别的变量,用于指定一些系统的默认值或者搜索路径等. alias用于给较长的命令取别名,只是给命令取别名. 一.alias alias ll="ls -l" 这样就可以使用简单的命令执行操作 二.export 环境变量配置文件.bash_profile: # Setting PATH for Python 3.6 # The origina

  • 一天一个shell命令 linux文本内容操作系列-sed命令详解

    说明: sed是stream editor(流编辑器)的缩写.它能够完美匹配正则表达式.sed和awk是文件编辑最重要的两个命令了.尤其涉及到了很多正则表达式的问题,笔者不敢也有点犯怵,试着写写. 实例: 1.替换文件中的字符串 $sed -i 's/text/replace/g' file #如果不加g结尾,则替换每一行的第一个 #如果只是打印,去掉-i 2.忽略前N处匹配,从N+1出开始替换 $sed -i 's/text/replace/2g' file #在g前面加入数字N 3.移除空白

  • Mac环境下配置tomcat的步骤详解

    前言 相信对Java Web稍微知道一点,一般对Tomcat都不会陌生,Apache是普通服务器,本身只支持html即普通网页,可以通过插件支持PHP,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源.Tomcat无法取访问Appache资源).Appache只支持静态网页,但像asp,php,cgi,jsp等动态就需要Tomcat来处理.下面我们就来看看详细的步骤. 一. 下载 登录Apache Tomcat官网,地址 http://t

  • 在Linux中如何查看可用的网络接口详解

    前言 在我们安装完一个 Linux 系统后最为常见的任务便是网络配置了.当然,你可以在安装系统时进行网络接口的配置.但是,对于某些人来说,他们更偏爱在安装完系统后再进行网络的配置或者更改现存的设置. 众所周知,为了在命令行中进行网络设定的配置,我们首先必须知道系统中有多少个可用的网络接口.本次这个简单的指南将列出所有可能的方式来在 Linux 和 Unix 操作系统中找到可用的网络接口. 在 Linux 中找到可用的网络接口 我们可以使用下面的这些方法来找到可用的网络接口. 方法 1 使用 if

随机推荐