一、查看日志
1、监控最后400行日志文件的变化--tail
tail -400f demo.log #-f 参数是实时
2、查看日志文件,支持上下滚屏,查找功能 --less
less demo.log
uniq -c demo.log
3、查看某个字符串最后出现的地方--grep
grep "key-word" log | tail -1
4、查看日志尾部的数据
(1)查询日志尾部最后10行的日志;
tail -n 10 demo.log
(2)查询10行之后的所有日志
tail -n +10 demo.log
5、查看日志头部的数据--head
(1)查看日志文件中的头10行数据;
head -n +10 demo.log
(2)查看日志文件中除了最后10行的其余日志;
head -n -10 demo.log
6、查找关键日志 —— grep
(1)查找所有包含 Info 的行
grep 'INFO' demo.log
(2)查找所有包含行 Error 的数量
grep -c 'ERROR' demo.log
(3)查看日志中ERROR 所在行的前几行
grep -B10 "ERROR" demo.log
(B :for befor,前;A:for After,后)
查询上一行,下二行
grep -A 2 -B 1 "ERROR" demo.log
(4)查询关键日志在哪一行
grep -n "ERROR" demo.log
7、查看某几行的日志--sed
grep -n "ERROR" demo.log //确定行数
sed -n 'x,yp' Demo.log //查看x行到y行的日志
二、截取日志
1、截取某个时间段的日志--cat/awk 、sed
(1)cat server.log | awk -F ‘[, ]’ '$1 >= "13:56:04" && $1 <= "13:59:04"' > 55.log
以[, ]为截断符
(2)sed -n '/2015-05-04 09:25:55,606/,/2015-05-04 09:28:55/p' demo.log > abc.log
2、关于日期打印
grep '2017-11-1 00:00:00' demo.log
3、按行数截取日志--sed
(1)确定行数
grep -n "ERROR" demo.log
(2)截取日志
sed -n '1000,2000p' demo.log > test.log (截取1000行到2000行的日志)
三、清空日志
1、通过重定向到 Null 来清空文件内容
# > demo.log
2、使用 echo 命令
# echo > demo.log