重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Linux查看日志的命令有很多,比如tail、cat、tac、head、echo等,今天给大家介绍几种常用的方法:
网站建设哪家好,找成都创新互联!专注于网页设计、网站建设、微信开发、微信小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了寻乌免费建站欢迎大家使用!
1、tail-实时查看变化的日志
命令格式:tail [必要参数][选择参数][文件]
-f:循环读取
-q:不显示处理信息
-v:显示详细的处理信息
-c数目:显示的字节数
-n行数:显示行数
-q, --quiet, --silent:从不输出给出文件名的首部
-s, --sleep-interval=S:与-f合用,表示在每次反复的间隔休眠S秒
2、head
跟tail相反,head是看日志的前多少行
head -n 10 test.log:查询日志文件中的前10行日志;
head -n -10 test.log:查询日志文件除了最后10行的其他所有日志;
3、cat-搜索关键字附近的日志
cat是由第一行到最后一行连续显示在屏幕上
最常用的命令:cat -n filename | grep "关键字"
cat app.log | grep -C 5 '关键字':显示日志里匹配字串那行以及前后5行;
cat app.log | grep -B 5 '关键字':显示匹配字串及前5行;
cat app.log | grep -A 5 '关键字':显示匹配字串及后5行;
4、more
more命令是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。
more的语法:more 文件名
last
-a 把从何处登入系统的主机名称或ip地址,显示在最后一行。
-d 指定记录文件。指定记录文件。将IP地址转换成主机名称。
-f 记录文件 指定记录文件。
-n 显示列数或-显示列数 设置列出名单的显示列数。
-R 不显示登入系统的主机名称或IP地址。
-x 显示系统关机,重新开机,以及执行等级的改变等信息
以下看所有的重启、关机记录
last | grep reboot
last | grep shutdown
history
列出所有的历史记录:
[zzs@Linux] # history
只列出最近10条记录:
[zzs@linux] # history 10 (注,history和10中间有空格)
使用命令记录号码执行命令,执行历史清单中的第99条命令
[zzs@linux] #!99 (!和99中间没有空格)
重复执行上一个命令
[zzs@linux] #!!
执行最后一次以rpm开头的'命令(!? ?代表的是字符串,这个String可以随便输,Shell会从最后一条历史命令向前搜索,最先匹配的一条命令将会得到执行。)
[zzs@linux] #!rpm
逐屏列出所有的历史记录:
[zzs@linux]# history | more
立即清空history当前所有历史命令的记录
[zzs@linux] #history -c
cat, tail 和 watch
系统所有的日志都在 /var/log 下面自己看(具体用途可以自己查,附录列出一些常用的日志)
cat /var/log/syslog 等
cat /var/log/*.log
tail -f
如果日志在更新,如何实时查看 tail -f /var/log/messages
还可以使用 watch -d -n 1 cat /var/log/messages
-d表示高亮不同的地方,-n表示多少秒刷新一次。
该指令,不会直接返回命令行,而是实时打印日志文件中新增加的内容,
这一特性,对于查看日志是非常有效的。如果想终止输出,按 Ctrl+C 即可。
除此之外还有more, less ,dmesg|more,这里就不作一一列举了,因为命令太多了,关键看个人喜好和业务需求.个人常用的就是以上那些
linux日志文件说明
/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 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件
启动之后,会在jar所在目录生成一个nuhup.log日志文件,记录控制台的日志输出。
备注:主要看符号两边: "" 对应输出什么和输出到哪里;
输出分为标准输出和错误输出,标准输出就是全输出,输出控制台信息;错误输出只是输出错误日志信息;
因此上面我们执行的 ***.jar nohup.log 21命令,可以拆解成 nohup.log 和 2 1两个输出,只看符号“”左边输出部分,分别代表默认标准输出到一个地方,然后错误日志输出到另一个地方,咱们后面再讲输出到什么地方。
输出到哪,分为输出到指定路径日志文件和重定向位置。
1.指定路径:如下: /data/work/log.log 这样便是指定输出到路径/data/work/log.log文件。
Linux上有一个特例路径/dev/null ,这路径就好像永久删除的回收站,当我们不需要输出任何信息时,就可以将输出指向/dev/null,那就不会有任何输出文件。
2.至于重定向,就是将文件重定向到一个地址,如下:
1 重定向到标准输出的地址,啥意思,就是输出到已指定的标准输出的地址。
2 重定向到错误输出的地址,就是输出到已指定的错误输出的地址。
比如nohup.log 21 ,意思是前面默认标准输出到了nohup.log日志下,后面错误输出也指向标准输出的地址,也即nohup.log日志下。
命令后面加的 ,可让命令在后台执行,否则关闭会话会停止程序。
(1)nohup java -jar ***.jar /data/log.log 2/data/err.log
解释:标准日志输出到/data/log.log文件,错误日志输出到/data/err.log文件。
(2)nohup java -jar ***.jar /data/log.log 21
解释:标准日志输出到/data/log.log文件,错误日志重定向也输出到/data/log.log文件。
(3)nohup java -jar ***.jar /dev/null 2/data/err.log
解释:标准日志输出到/dev/null,也就是不输出标准日志,错误日志输出到/data/err.log文件。
一般采用上面(3)只输出错误日志就可以了,有需要的按照(1)进行输出。
具体如下:
1.首先为了演示应用程序输出信息,这里我们选择tomcat的日志输出文件来演示,当然也可以选择您自己任意的应用程序。这里我们连接上linux服务器之后,cd命令切换到tomcat的logs目录
2.要想自动打印显示出程序输出信息,这里需要使用到tail命令,首先我们使用mantail命令查看下tail命令的帮助信息。tail命令是默认打印最后10行信息,从帮助信息中,可以看到-f跟随的意思,就是在有新的输出信息的...
3.输入tail-fcatalina.out,从打印信息中可以看出,默认输出了最后的10行信息,并且命令没有退出,等待新的信息输出,这个时候如果程序有新的输出,会自动打印出来
4.tail命令默认一开始是显示之前的10行,如果不够的话,可以指定,这里可以输入tail-40fcatalina.out