-
2019-09-20 15:59:31更多相关内容
-
Linux 查看大日志文件
2019-06-22 15:26:00Linux 查看大日志文件 1.如果文件比较小的话,使用 vim 直接查看,如果文件比较大的话,使用 Vim 会直接卡主。 2.如果想要查看正在滚动的日志文件。这个命令可以查看大文件。 tail -f file Ctrl + c 终止 tail ...Linux 查看大日志文件
1.如果文件比较小的话,使用 vim 直接查看,如果文件比较大的话,使用 Vim 会直接卡主。
2.如果想要查看正在滚动的日志文件。这个命令可以查看大文件。
tail -f file
Ctrl + c 终止 tail 命令
Ctrl + s 暂停 tail 命令
Ctrl + q 继续 tail 命令
3.如果文件比较大的话,也可以使用 less 命令
less file
但是使用上述命令的坏处是,默认打开的位置在第一行,并且当切换到实时滚动模式(按 F ,实现效果类似 tail -f 效果 )或者想要滚动到最底部的时候(按 G ),会卡在计算行数一段时间。如果卡的时间比较长的话,可以直接按 Ctrl + c ,取消计算行数。
我更推荐打开文件的时候使用 -n :不计算行号(打开大文件的时候很有用)。less -n file less +G -n file // 打开文件的时候,直接定位到文件的最底部,默认情况下是在首行。 less +F -n file // 打开文件的时候,使用实时滚动模式,Ctrl + c 退出实时滚动模式,按 F 切回实时滚动模式 less +1000g -n file // 直接定位到第 1000 行,一般你提前通过 grep 命令,定位到行数后,再使用这个命令 less +50p -n file // 直接定位到 50% 的位置 less +50P -n file // 直接定位到第 100 字节的位置。这个命令感觉不怎么使用。
不使用 -n 的坏处是:当你使用 = 的时候,会计算出当前光标所在的位置,但是务必记得,大文件计算行数会阻塞一段时间。例如执行下列命令:
less copy.log
然后按下 = ,显示结果如下图:
less 命令打开文件后,按下 = ,因为文件比较大,卡了我 20 几秒。
显示内容为: 文件名 copy.log , 当前屏幕显示1-24行/该文件一共有430000070行 , 从第一行到当前位置一共有 144 byte/该文件一共有2580000418 byte , 当前位置在文件的 0% 处。
如果使用 -n,输入以下命令 :
less -n copy.log
然后按下 = ,执行就非常快了
上述图片中没有 lines 数据,所以执行很快。
因此我建议大家使用 less 命令显示大文件的的时候,加上 -n 。
当然如果文件比较小,你想在使用 less 打开文件,并显示文件行数的话,可以使用 :
less -N file
4.如果你已经知道日志输出的关键字的话,使用 grep , 通常需要打印关键字前后的日志。
grep 'key word' log.txt -A 20 // 列出包括匹配行之后 20 的行。 grep 'key word' log.txt -B 20 // 列出包括匹配行之前 20 的行。 grep 'key word' log.txt -C 20 // 列出包括匹配行前后各 20 行。
大文件的话,grep 出来的数据比较多的话,你可以和 less 一起使用
grep `world` copy.log | less
5.有时候需要将 tail 和 less 命令结合起来使用
tail -n +10000 | less // 从第 10000 开始,使用 less 查看。 tail -n 10000 | less // 查看倒数第 1000 行到文件最后的数据。
6.切割文件
有时候想把一个大文件进行分割成多个小文件.(我个人是不建议这么做的,因为我发现 split 的时候,也是蛮耗时的,但是这里仍然提供一种解决方法吧)
按文件大小分割:split -b 600m copy.log
分割后的文件默认是以 x 开头,例如我上述命令分割后文件为:
$ ls -lht x* // 这里 * 是通配符,即列出以 x 开头的文件。 -rw-rw-r-- 1 apple apple 61M 6月 22 15:02 xae -rw-rw-r-- 1 apple apple 600M 6月 22 15:02 xad -rw-rw-r-- 1 apple apple 600M 6月 22 15:02 xac -rw-rw-r-- 1 apple apple 600M 6月 22 15:02 xab -rw-rw-r-- 1 apple apple 600M 6月 22 15:02 xaa
当然你可以按行数分割,具体的命令格式如下 :
split [选项]... [要切割的文件] [输出文件前缀] // 输出文件前缀为可选项
命令参数 说明 -a, --suffix-length=N 使用长度为 N 的后缀 (默认 2) -b, --bytes=SIZE 设置输出文件的大小。支持单位:m,k -C, --line-bytes=SIZE 设置输出文件的最大行数。与 -b 类似,但会尽量维持每行的完整性 -d, --numeric-suffixes 使用数字后缀代替字母 -l, --lines=NUMBER 设备输出文件的行数 –help 显示版本信息 –version 输出版本信息
7.如果你已经知道需要的内容在第几行,但是想要显示指定行数之前或者之后的行。例如你想显示 499999900 到 500000000 这100 行的内容。 推荐使用这个方法
head -500000000 file | tail -100
其中 head -500000000 : 显示文件的前 500000000 行。
tail -100 :显示最后 100行。
两者结合起来就是在前 500000000 行中显示后 100 行,即显示 499999900 到 500000000 这100 行的内容。
或者使用 sed 命令:
sed -n '500000000q;499999900,500000000p' file
其中 -n 与 p : 表示只打印符合条件的行。
500000000q; : 表示当执行到第 500000000 行的时候停止执行。 如果不使用 500000000q; sed 默认会浏览整个文件。
499999900,500000000 : 表示499999900 到 500000000 行。其中 , 逗号表示范围。
整体结合起来就是打印 499999900 到 500000000 行,但是执行到第 500000000 行就不要再执行了。
或者使用 awk 命令
awk 'NR>=49999991 && NR<=50000000{print} NR==50000001{exit}' file
最后我发现三者的执行效率(copy.log 是一个大小为 2.5 G 的测试文件):
time (head -500000000 copy.log | tail -100) > /dev/null real 0m9.456s user 0m8.854s sys 0m3.501s time (sed -n '500000000q;499999900,500000000p' copy.log) > /dev/null real 0m25.968s user 0m25.111s sys 0m0.833s time (awk 'NR>=499999900&& NR<=500000000{print} NR==500000001{exit}' copy.log) > /dev/null real 1m4.743s user 1m3.824s sys 0m0.906s
总结
与其说是查看大日志文件的方法,不如说是将 grep/awk/sed/head/less/tail 多个命令结合起来的方法。
其实最重要的不是怎么看大文件,还是在程序运行时候,就要对日志文件进行归档整理,例如,每天一次归档,或者每满 500M 就归档。
当然大公司会用例如 ELK 之类的日志处理系统。
提示
如果你在浏览这篇文章的时候,苦于没有大的日志文件练习, 可以执行如下命令:
seq 1 1000000000 > file
引用
-
windows查看大日志文件
2020-01-08 11:11:091.首先使用Knife对文件进行切割,我这边设置500M一个,11g的文件拆分成了25个文件。 2.使用工具查看,可以使用glogg或者git来查看。 我比较推荐使用git查看,可以使用?/查找,速度响应也快,但是整个11g在...1.首先使用Knife对文件进行切割,我这边设置500M一个,11g的文件拆分成了25个文件。
2.使用工具查看,可以使用glogg或者git来查看。
我比较推荐使用git查看,可以使用?/查找,速度响应也快,但是整个11g在windows下查看还是不方便,要配合切割工具使用。 -
查看大日志文件的专门工具logviewer
2019-02-18 20:28:00在系统运行很久之后,可能得到一个很大的log文件,用一般的文本编辑工具,一般很难打开,即使打开了也会非常慢,这里可以使用专门的一个工具来查看这种大log文件。 免费下载地址: http://www.uvview...千江有水千江月,万里无云万里天。-----------宋,《嘉泰普灯录卷十八》
在系统运行很久之后,可能得到一个很大的log文件,用一般的文本编辑工具,一般很难打开,即使打开了也会非常慢,这里可以使用专门的一个工具来查看这种大log文件。
免费下载地址:
-
linux 下查找大日志文件,比如大于100M的文件
2016-11-07 10:17:15命令行如下 find . -type f -size +1000000k ...Linux系统下查找大文件或目录的技巧 ...当硬盘空间不够时,我们就很关心哪些目录或文件比较大,看看能否干掉一些了,怎么才能知道呢? #已易读的格式显示指定 -
SQL Server日志文件过大 大日志文件清理方法 不分离数据库
2017-01-16 17:05:20SQL Server日志文件过大 大日志文件清理方法 ,网上提供了很多分离数据库——〉删除日志文件-〉附加数据库 的方法,此方法风险太大,过程也比较久,有时候也会出现分离不成功的现象。下面的方式是不需要做数据库分离... -
Logback设置单个日志文件大小上限以及最多存储几个历史文件
2020-06-30 15:26:32<property name="ROOT" value="logs"/> <appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${ROOT}/info/info.log</file>...[%-5leve. -
Linux,grep命令,在大日志文件中搜索关键字 最后/最开始出现位置
2020-05-27 18:33:21Linux,grep命令,在大日志文件中搜索关键字 最后/最开始出现位置 grep [选项]... PATTERN [FILE]... grep -C N,(N代表一个整数)是搜索关键字出现位置,并且和上下相邻50行的结果 grep -A N,是搜索关键字... -
Linux命令行下如何通过命令查看一个大日志文件中关键字的上下文信息
2019-07-03 13:11:51这是在面试过程中遇到的一个问题,以前总是直接用vi打开文件,然后搜索关键字,这样就能看到上下文信息了,但是这里有明确的规定,大文件,不用VI的情况下如何查看。 一般来说,我们是通过grep命令查找文件中关键字... -
解决tomcat日志文件占用大量内存
2018-09-27 20:41:42当删掉这个日志文件之后,C盘突然多出了100个G的内存,通过排查发现依然是单表的日志文件的原因,如下图 其实日志的输出也是有等级的,一般日志的级别有: SEVERE (highest value) &amp;amp;amp;gt; ... -
超大文件打开工具---10G的日志文件
2017-05-17 22:13:55今天在公司遇到需要打开10G的左右的tomcat跑出来的日志文件,一般的文件打开的文件加载半天还是没加载出来,主要是文件打开加载在内存的,所以内存不过大肯定是不能加载出来的。在网上找了一工具 PilotEdit ,10G的... -
LogBack日志文件详解(文件的最大个数,和文件的最大大小)
2019-07-02 20:20:23-- 失败日志还需要记录在日志文件中,日志文件采用10个10M的日志文件循环覆盖的方式,不至占满硬盘空间 --> <!-- files in general, please contact the logback user mailing list --> <!-- at... -
Nginx实现大日志文件切割
2011-12-18 20:57:57nginx cronolog日志分割配置文档,根据下面方法,每分钟分割一次NGINX访问日志。 1.nginx日志配置 access_log access_log /data/access_log_pipe main; 2.先创建一个命名管道 mkfifo /... -
linux日志文件详解
2021-09-17 16:08:26目录一、日志文件的分类二、日志文件位置三、常见日志文件1.分析日志文件2.内核及系统日志四、日志消息等级五、日志文件分析1.用户日志2.程序日志六、日志分析注意事项 一、日志文件的分类 日志文件是用于记录Linux... -
linux下查看日志(如果日志是大文件没办法打开的情况下)
2017-10-31 14:37:38我发现我们公司的保存的日志文件特别大,没办法很快就下载下来查看,最大的有1G+。但是我需要查看最近的日志信息,大概取十几兆左右。所以我开始用下面两种方法解决。 目前我自己用到的两种方法,一个是使用... -
日志文件的格式和内容,日志文件的作用,登记日志文件的规则
2019-11-23 19:38:37日志文件是用来记录事务对数据库更新操作的文件,主要有两种格式:以记录为单位的日志文件和以数据块为单位的日志文件。 以记录为单位的日志文件包括:各个事务的开始(Start Transaction)标记、各个事务的结束... -
springboot使用logback按日期和大小生成日志文件
2019-06-05 14:44:07springboot默认的日志文件是不会自动按天分割的,所以生产环境的日志文件越来越大,很不利于排错。查了很多资料最终配置如下,可以完美按天按错误等级分割日志文件,配置如下。 由于springboot采用约定优先于配置的... -
日志文件分析
2021-11-28 14:48:01文章目录日志的功能日志文件的分类主要日志文件介绍内核以及系统日志日志记录的一般格式程序日志分析日志管理策略配置日志服务器收集日志journalctl日志管理工具 日志文件 日志的功能 : 用于记录系统、程序运行中... -
python基于时间日志存储和基于日志文件大小存储
2019-01-29 11:26:521.基于时间保存日志,使用TimedRotatingFileHandler TimedRotatingFileHandler的构造函数定义如下: TimedRotatingFileHandler(filename [,when [,interval [,backupCount]]]) filename 是输出日志文件名的前缀,... -
mysql日志文件在哪 如何修改MySQL日志文件位置
2021-01-28 03:07:48binlog 就是binary log,二进制日志文件,这个文件记录了mysql所有的dml操作。通过binlog日志我们可以做数据恢复,做主住复制和主从复制等等。对于开发者可能对binlog并不怎么关注,但是对于运维或者架构人员来讲是... -
alert日志文件过大的处理
2017-08-28 16:01:001.清空 cat /dev/null > alert_sid.log 2.截断 tail -n 1000 alert_sid.log > alert_sid.log 3.使用echo echo "" > alert_sid.log -
SQL Server缩小数据库日志文件大小
2018-08-27 16:44:06SQL Server 2008以后的版本缩小日志文件的方法 --设置为简单模式 ALTER DATABASE 数据库名 SET RECOVERY SIMPLE; GO -- 将日志文件压缩到1 MB. 数据库日志文件名查sys.sysfiles表的日志文件的name字段 DBCC ... -
web日志信息文件
2015-12-02 14:28:28文件是web日志,记录了一个网站(粉丝日志网站)一天内的访问记录的日志信息。 我的博客:http://blog.csdn.net/u010156024/article/details/50147697 详细应用了该日志文件进行hadoop下的挖掘分析。欢迎访问。 -
shell脚本限制日志文件大小和行数
2018-10-05 17:11:18背景: 项目server在后端持续运行,日志文件不断变大,需及时进行清空。 解决方案:编辑sh脚本,指定时间间隔轮询;将超出限制的日志文件,先备份,再清空原日志文件内容。 清空日志文件内容的方法有: 1. echo... -
centos nginx日志文件太大,处理方案
2020-09-26 09:05:52公司服务器突然502错误,然后发现所有服务都没问题,最后发现硬盘满了,导致了nginx服务器写不了日志所以报了502错误,删除一些不用的文件后即可解决。 ...# 列出日志文件 $ cd /usr/local/nginx/l -
Linux常见的日志文件及查看命令
2021-05-13 21:02:17Linux常见日志和常用命令Linux 日志都以明文形式存储,所以我们不需要...一、Linux常用的日志文件# /var/log/boot.log该文件记录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息。# /var/log/c... -
springboot日志文件,日志输出到文件
2020-12-30 13:12:11日志文件的配置结构:(1)FILE_LOG_PATTERN:日志输出格式变量,在控制台输出和文件中输出的append中都引用了此变量。(2)consoleLog:定义一个控制台的appender(3)fileLog:定义一个日志文件的appender,这就是文件... -
sql解决数据库日志文件过大的问题
2016-11-03 15:56:34sql点滴39—解决数据库日志文件过大的问题 随着数据库使用时间增长,日志文件也在不停的增大,这里介绍几种方法减小这个文件的方法。 1.直接删除log文件 分离数据库。分离数据库之前一定要做好数据库的全... -
Log4j配置按照文件大小和日期分割日志文件
2021-01-15 16:00:41目录Log4j 下载地址文件大小分割日志文件以日期分割每天产生一个日志文件自定义信息输出到日志文件 Log4j 下载地址 Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件... -
Hadoop 查看日志文件
2019-10-29 15:33:12日志文件的默认存放位置在 ${HADOOP_HOME}/logs 下。 进入到此目录下,可以看到有关于 HDFS 和 YARN 的相关服务的日志文件,其中常用就是 nodemananger、resourcemanager、namenode、datanode等。 ...