精华内容
下载资源
问答
  • Linux 查看日志文件

    万次阅读 2019-06-22 15:26:00
    Linux 查看日志文件 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
    

    引用

    https://stackoverflow.com/questions/23891553/time-delay-after-printing-lines-with-sed-or-awk-in-large-file

    展开全文
  • 作为一个后端开发工程师在 Linux 中查看查看文件内容是基本操作了 ...vim 编辑器来查看日志文件 千万不要使用 vi 命令来查看大文件内容 尤其对于那些几十 G 的大文件 因为 vi 仅仅是一个编辑器可以理解为 windows 中
  • find / -name '*.log' | xargs ls -lils

    find / -name '*.log' | xargs ls -lils

    展开全文
  • linux 查看日志文件

    千次阅读 2019-03-29 20:14:14
    Linux日志文件在/var/log目录下,可以通过命令查看日志文件。 1,cat messages可以查看某个日志文件。 2,要达到实时更新,可以通过tail命令查看更新的数据,例如tail -f messages。 3,tail命令参数: -f 循环读取 ...

    Linux日志文件在/var/log目录下,可以通过命令查看日志文件。
    1,cat messages可以查看某个日志文件。
    2,要达到实时更新,可以通过tail命令查看更新的数据,例如tail -f messages。
    3,tail命令参数:
    -f 循环读取
    -q 不显示处理信息
    -v 显示详细的处理信息
    -c<数目> 显示的字节数
    -n<行数> 显示行数
    –pid=PID 与-f合用,表示在进程ID,PID死掉之后结束.
    -q, --quiet, --silent 从不输出给出文件名的首部
    -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒。

    日志类型

    下面是常见的日志类型,但并不是所有的Linux发行版都包含这些类型:

    类型
    说明
    auth
    用户认证时产生的日志,如login命令、su命令。
    authpriv
    与 auth 类似,但是只能被特定用户查看。
    console
    针对系统控制台的消息。
    cron
    系统定期执行计划任务时产生的日志。
    daemon
    某些守护进程产生的日志。
    ftp
    FTP服务。
    kern
    系统内核消息。
    local0.local7
    由自定义程序使用。
    lpr
    与打印机活动有关。
    mail
    邮件日志。
    mark
    产生时间戳。系统每隔一段时间向日志文件中输出当前时间,每行的格式类似于 May 26 11:17:09 rs2 – MARK --,可以由此推断系统发生故障的大概时间。
    news
    网络新闻传输协议(nntp)产生的消息。
    ntp
    网络时间协议(ntp)产生的消息。
    user
    用户进程。
    uucp
    UUCP子系统。

    日志优先级

    常见的日志优先级请见下标:

    优先级
    说明
    emerg
    紧急情况,系统不可用(例如系统崩溃),一般会通知所有用户。
    alert
    需要立即修复,例如系统数据库损坏。
    crit
    危险情况,例如硬盘错误,可能会阻碍程序的部分功能。
    err
    一般错误消息。
    warning
    警告。
    notice
    不是错误,但是可能需要处理。
    info
    通用性消息,一般用来提供有用信息。
    debug
    调试程序产生的信息。
    none
    没有优先级,不记录任何日志消息。
    常用日志文件

    系统日志是由一个名为syslog的服务管理的,如以下日志文件都是由syslog日志服务驱动的:

    /var/log/boot.log:录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息

    /var/log/lastlog :记录最后一次用户成功登陆的时间、登陆IP等信息

    /var/log/messages :记录Linux操作系统常见的系统和服务错误信息

    /var/log/secure :Linux系统安全日志,记录用户和工作组变坏情况、用户登陆认证情况

    /var/log/btmp :记录Linux登陆失败的用户、时间以及远程IP地址

    /var/log/syslog:只记录警告信息,常常是系统出问题的信息,使用lastlog查看

    /var/log/wtmp:该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件,使用last命令查看

    /var/run/utmp:该日志文件记录有关当前登录的每个用户的信息。如 who、w、users、finger等就需要访问这个文件

    /var/log/syslog 或 /var/log/messages 存储所有的全局系统活动数据,包括开机信息。基于 Debian 的系统如 Ubuntu 在 /var/log/syslog 中存储它们,而基于 RedHat 的系统如 RHEL 或 CentOS 则在 /var/log/messages 中存储它们。
    /var/log/auth.log 或 /var/log/secure 存储来自可插拔认证模块(PAM)的日志,包括成功的登录,失败的登录尝试和认证方式。Ubuntu 和 Debian 在 /var/log/auth.log 中存储认证信息,而 RedHat 和 CentOS 则在 /var/log/secure 中存储该信息。

    展开全文
  • Linux查看压缩日志文件命令zcat tar gz grep IT黑名单 http://www.itblacklist.cn/

    命令:

    zcat [fileName]|grep --binary-files=text ['target string']

    如下图,2016-12-01这天产生了N多日志,并且已经归档压缩。如果需要查找日志中的某段错误,可用以上命令:

    zcat app-12-01-*|grep --binary-files=text 'NullPointerException' -C 2|grep '161201094153583'


    zcat命令查看一个gzip格式的压缩文件。

    --binary-files=text让二进制文件等价于文本文件

    日志太多不方便看,所以我做了两次grep。


    转载请注明来源【 IT黑名单

    展开全文
  • linux查看日志文件命令

    千次阅读 2018-12-28 15:52:21
    Linux查看日志常用命令 退出日志命令:ctrl+c 1.查看日志常用命令 tail: -n 是显示行号;相当于nl命令;例子如下: tail -100f test.log 实时监控100行日志 tail -n 10 test.log 查询日志尾部最后10行的日志; tail ...
  • Linux查看日志文件命令

    千次阅读 2018-03-30 10:46:42
    日志文件存储日志很大时,我们就不能用vi直接进去查看日志,需要Linux的命令去完成我们的查看任务. 12Log位置: /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 /var/log/...
  • linux清理log日志文件

    千次阅读 2020-12-01 10:13:27
    1、linux会自动记录日志,日志文件中包含用户的所有操作。这样虽然可以方便用户查找相关bug,但是也导致的日志文件所占据的空间越来越大。在系统能够正常满足用户使用的条件下,清理日志文件就非常有必要了 2、当...
  • Linux 服务器日志文件查找技巧精粹.doc Linux 服务器日志文件查找技巧精粹.doc
  • Linux下重要日志文件查看方式

    千次阅读 2014-05-28 13:33:24
    Linux下重要日志文件查看方式 日志对于安全来说,非常重要,它记录了系统每天发生的各种各样的事情,你可以通过他来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。本文主要介绍了Linux...
  • tail -f 实时查看日志文件,例如 tail -f catalina.out tail -f -n 100 catalina.out Linux查看日志后100行
  • linux查看日志文件内容

    千次阅读 2017-03-31 17:11:24
    linux查看日志文件内容命令tail、cat、tac、head、echo、grep less file 分页查看文件 :ctrl+G 最后 :u 上 : d 下 tail -f test.log 你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C...
  • Linux 查看日志文件命令(整合)

    千次阅读 2019-01-04 22:50:11
    当日志存储文件很大时,我们就不能用 vi 直接去查看日志了,就需要Linux的一些内置命令去查看日志文件. 系统Log日志位置: /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 /var...
  • Linux 查看日志文件命令

    万次阅读 2017-08-23 11:05:31
    tail head cat tac echo 1. tailtail -f test....2. headlinux 如何显示一个文件的某几行(中间几行)从第3000行开始,显示1000行。即显示3000~3999行cat test.log | tail -n +3000 | head -n 1000显示1000行到3000行ca
  • Linux-查看日志文件的大小

    千次阅读 2018-03-15 12:57:29
    wc命令 wc -c catalina.2018-03-13.out.gz -c表示统计字符,因为一个字符是一个...du命令 du -b catalina.2018-03-13.out.gz参数-b表示以字节计数 du -h catalina.2018-03-01.out参数-h 直接得出人好识别的文件大小...
  • Linux系统中使用xShell如何搜索查找文件里面的内容是查找问题、系统维护当中最常见的需求。搜索、查找文件当中的内容,一般最常用的是grep命令,另外还有egrep, vi命令也能搜索文件里面内容 假如是非压缩包文件,...
  • linux查看日志文件内容命令

    千次阅读 2018-07-26 18:38:17
    linux查看日志文件内容命令tail和head、sed、cat、tac、echo 一、tail和head命令 tail -f mylog.log 可以动态的查看服务器运行状态的日志 head -n 1000:显示前面1000行 tail -n 1000:显示最后1000行 tail -n +...
  • Linux命令--日志文件里面查找关键字

    千次阅读 2018-12-05 15:29:48
    Linux命令–日志文件里面查找关键字 1、查看日志 前 n行: cat 文件名 | head -n 数量 cat log.log | head -n 200 # 查看log.log前200行 2、查看日志 尾 n行: cat 文件名 | tail -n 数量 cat log.log | tail -n ...
  • linux如何清理日志文件

    千次阅读 2020-03-30 15:42:40
    之前使用文件服务器的时候,会报一个错误,具体错误忘记了,经百度查是因为data目录的内存快占满了,超过了90%,项目的日志占用的空间过大,所以需要清理。所以今天我就来记录一下,如何清理日志的过程。 二.解决 1....
  • 根据关键字查看日志 cat xxx.log | grep "关键字" 根据关键字查看后10行日志 cat xxx.log | grep "关键字" -A 10 根据关键字查看前10行日志 cat xxx.log | grep "关键字" -B 10 根据关键字查看前后10行日志,并...
  • 如何查看linux系统下的各种日志文件 linux 系统日志的分析大全 日志分类: 1. 连接时间的日志 连接时间日志一般由/var/log/wtmp和/var/run/utmp这两个文件记录,不过这  两个文件无法直接cat查看,并且该文件...
  • Linux Centos7 日志文件详解

    千次阅读 2019-09-18 07:20:29
    日志文件对于诊断和解决系统中的问题很有帮助,因为在 Linux 操作系统中运行的程序通常会把系统消息和错误消息写入相应的日志文件,这样系统一旦出现问题就会“有据可查”。此外,当主机遭受袭击时,日志文件还可以...
  • Linux下使用tail查看日志文件使用tail查看日志文件 使用tail查看日志文件Linux运行python文件中使用xshell在后台运行了bilibili.py并且实时保存日志my_out.log。现在使用tail命令对日志进行查看。 (base) root@...
  • Linux 下删除日志文件

    千次阅读 2017-11-06 10:30:46
    linux是一个很能自动产生文件的系统,日志、邮件、备份等。虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快的事情。不用你去每天惦记着是否需要清理日志,...
  • Linux日志文件总结

    千次阅读 2016-08-10 15:53:49
    Linux日志文件总结近期做笔试题目,考察linux日志配置文件相关内容,由于对此不了解,故看鸟哥的私房菜中的认识与分析日志文件一章,总结如下相关信息。 日志文件可以记录一个时间的何时、何地、何人、何事四大信息...
  • linux tail 过滤日志文件中的关键字

    万次阅读 2017-08-03 10:31:11
    1.查看日志文件中带有指定关键词的日志信息 tail -f 日志文件名 | grep 关键字 | grep 关键字   2.查看日志文件最后1000行 tail -f -n 1000 日志文件 (实时打印最新的日志信息) tail -1000n 日志文件(实时...
  • Linux查看文件日志

    千次阅读 2019-09-29 17:04:11
    Linux 查看日志文件 1、使用 less 命令 less filename 但是使用上述命令的坏处是,默认打开的位置在第一行,并且当切换到实时滚动模式(按 F ,实现效果类似 tail -f 效果 )或者想要滚动到最底部的时候(按 G ),...
  • linux查看日志文件技巧,tial、cat、sed详解(文件大小、行数、查看指定行)cat 命令wc 命令tail 命令sed 命令 在一些配置比较齐全的公司都会有运维工程师这个职位,但也有大部分公司并没有配置这个职位,这个时候...
  • Linux批量删除日志文件

    千次阅读 2019-05-05 14:23:56
    需求:删除某文件夹下10天前的日志文件?(类型为.log) 具体步骤: 查询是否存在需求中的日志问价 find /home/rab/hhy/test/ -mtime +10 -name "*.log" -exec ls -l {} \; 存在执行删除(删除需谨慎,做好备份) ...
  • linux中项目日志文件导致磁盘满了

    千次阅读 2018-06-25 10:27:23
    Linux中项目文件过多导致系统磁盘满了 以至于新的日志文件不能被写入先查看系统磁盘占用情况df -hz然后在日志文件列表目录查看文件占用情况ls -lht然后删除某些日志文件即可...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 359,840
精华内容 143,936
关键字:

linux查找最新日志文件

linux 订阅