Linux日志文件命令-开发必备技能

编程离不开BUG,所以我们的学会再linux上查看日志,然后解决BUG,是必备的技能

  • Linux系统日志说明

linux日志文件说明
bash复制代码/var/log/message 系统启动后的信息和错误日志,是Red HatLinux中最常用的日志之一
/var/log/secure 与安全相关的日志信息
/var/log/maillog与邮件相关的日志信息
/var/log/cron 与定时任务相关的日志信息
/var/log/spooler 与UUCP和news设备相关的日志信息
/var/log/boot.log 守护进程启动和停止相关的日志消息
/var/log/wtmp 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件

总结六种查看日志文件的基本操作

1、tail–查看实时变化的日志

命令格式:tail[必要参数][选择参数][文件]
说   明:查看实时变化的,默认就是查看文件后面的日志
	-f 循环读取
	-q 不显示处理信息
	-v 显示详细的处理信息
	-c<数目> 显示的字节数
	-n<行数> 显示行数
	-q, --quiet, --silent 从不输出给出文件名的首部
	-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
eg:
		tail  -n  10  test.log 查询日志尾部最后10行的日志;
		tail  -n +10  test.log  查询10行之后的所有日志;
		tail  -fn 10  test.log  循环实时查看最后1000行记录(最常用的)
		//  配合grep用
		tail -fn 1000 test.log | grep '关键字'
		//  一次性查询的数据量太大,进行翻页查看
		tail -n 4700  aa.log |more -1000 可以进行多屏显示(ctrl + f 或者 空格键可以快捷键)

2.head–读取开头文件行

head -n  10  test.log   查询日志文件中的头10行日志;
head -n -10  test.log   查询日志文件除了最后10行的其他所有日志;

其他【必要参数】参考tail 命令

3、cat-搜索关键字附近的日志

	cat 是由第一行到最后一行连续显示在屏幕上
	最常用的:cat -n filename |grep "关键字"
eg:
	cat app.log | grep -C 5 '关键字'   (显示日志里匹配字串那行以及前后5行)
	cat app.log | grep -B 5 '关键字'   (显示匹配字串及前5行)
	cat app.log | grep -A 5 '关键字'   (显示匹配字串及后5行)

扩展知识:
一次显示整个文件 :

$ cat filename

从键盘创建一个文件 :

$cat > filename

将几个文件合并为一个文件:

$cat file1 file2 > file 只能创建新文件,不能编辑已有文件.

将一个日志文件的内容追加到另外一个 :

$cat -n textfile1 > textfile2

清空一个日志文件:

$cat : >textfile2

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

cat其他必要参数参考tail

4、more–分页范围

more命令是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。more名单中内置了若干快捷键,
常用的有H(获得帮助信息),
Enter(向下翻滚一行),
空格(向下滚动一屏),
Q(退出命令)。
more命令从前向后读取文件,因此在启动时就加载整个文件。
该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比:–More–(XX%)
more的语法:more 文件名

	Enter 向下n行,需要定义,默认为1行
	Ctrl f 向下滚动一屏
	空格键 向下滚动一屏
	Ctrl b 返回上一屏
	= 输出当前行的行号
	:f 输出文件名和当前行的行号
	v 调用vi编辑器
	!命令 调用Shell,并执行命令
	q退出more

5、sed–时间段查询

这个命令可以查找日志文件特定的一段 , 根据时间的一个范围查询,可以按照行号和时间范围查询

	//按照行号
	sed -n '5,10p' filename 这样你就可以只查看文件的第5行到第10行。
	//按照时间段
	sed -n '/2023-12-17 16:17:20/,/2023-12-17 16:17:36/p'  aaa.log

6、less–分页范围

		less命令在查询日志时,一般流程是这样的
		命令格式:less  [aa.log]
		shift + G 命令到文件尾部  然后输入加上你  ?  要搜索的关键字例如  'main'
		按 n 向上查找关键字
		shift+n  反向查找关键字
区别:less与more类似,使用less可以随意浏览文件,而more仅能向前移动,不能向后移动,而且 less 在查看之前不会加载整个文件。
		
		less log2013.log                       查看文件
		ps -ef | less                               ps查看进程信息并通过less分页显示
		history | less                              查看命令历史使用记录并通过less分页显示
		less log2013.log log2014.log    浏览多个文件
常用命令参数:
			less与more类似,使用less可以随意浏览文件,而more仅能向前移动,不能向后移动,而且 less 在查看之前不会加载整个文件。
			less log2013.log 查看文件
			ps -ef | less ps查看进程信息并通过less分页显示
			history | less  查看命令历史使用记录并通过less分页显示
			less log2013.log log2014.log  浏览多个文件
			常用命令参数:
				-b <缓冲区大小> 设置缓冲区的大小
				-g 只标志最后搜索的关键词
				-i 忽略搜索时的大小写
				-m 显示类似more命令的百分比
				-N 显示每行的行号
				-o <文件名> 将less 输出的内容在指定文件中保存起来
				-Q 不使用警告音
				-s 显示连续空行为一行
				/字符串:向下搜索"字符串"的功能
				?字符串:向上搜索"字符串"的功能
				n:重复前一个搜索(与 / 或 ? 有关)
				N:反向重复前一个搜索(与 / 或 ? 有关)
				b 向后翻一页
				h 显示帮助界面
		q 退出less 命令

写在最后

过滤关键字使用
grep [-n|-c|...] [关键字] 文件;
			-n 结果显示行号
			-c 关键字匹配的行次数
			-i 关键字忽略大小写
			-v 反向选择
			-e 后跟一个正则表达式
			-m10 查找到10次就停止继续查找
			-A10 显示关键字所在行和后10行
			-B10 显示关键字所在行和前10行
			-C10 显示关键字所在行和前后10行
			--color=auto 关键字高亮显示(多个参数一起使用,color属性需要放最后,注意是两个短线)

使用?

tail -f -n 100  aa.log
tail -f -n 100  aa.log | grep '关键字'
		等操作

之后遇见新的操作,会实时更新博客!当然有些命令博主也没这么使用 如有错误 请指点

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

每天至少八杯水i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值