精华内容
下载资源
问答
  • 作为一个后端开发工程师在 Linux 中查看查看文件内容是基本操作了 ...vim 编辑器来查看日志文件 千万不要使用 vi 命令来查看大文件内容 尤其对于那些几十 G 的大文件 因为 vi 仅仅是一个编辑器可以理解为 windows 中
  • 对于笔者这种小菜鸡来说,第一反应就是 cat,tail,vi(或vim)了,是的,我曾经用过好多次vim编辑器来查看日志文件。千万不要使用vi命令来查看大文件内容, 尤其对于那些几十G的大文件。因为vi仅仅是一个编辑器(可以...

    作为一个后端开发工程师,在Linux中查看查看文件内容是基本操作了。尤其是通常要分析日志文件排查问题,那么我们应该如何正确打开日志文件呢?对于笔者这种小菜鸡来说,第一反应就是 cat,tail,vi(或vim)了,是的,我曾经用过好多次vim编辑器来查看日志文件。

    千万不要使用vi命令来查看大文件内容, 尤其对于那些几十G的大文件。因为vi仅仅是一个编辑器(可以理解为windows中的记事本),使用vi命令后则会把文件所有内容加载到内存中,如果内存不够大的话,则可能会导致服务器瘫痪。

    为了生成测试数据,笔者抓心挠肝,东拼西凑,写了一个生成测试文件的shell脚本,方便下文的命令演示,复制到linux命令行执行即可。

    44e604152ad9e8792c7f28a18cece06f.png

    直接查看文件内容

    查看整个文件的内容的命令一共有三个,cat/tac/nl,nl命令笔者用的比较少,所以此处就不再演示了,感兴趣的小伙伴可以去百度一哈。

    cat [-AbEnTv]

    选项与参数:-A:相当于-vET的整合, 课列出一些特殊字符而不是空白而已-b :列出行号,进针对非空白行做行号显示,空白行不会标记-E :将结尾换行符$显示出来-n :打印出行号,连同空白行也会有行号,与-b的选项不同-T : 将[tab]键以^I显示出来-v : 列出一些看不出来的特殊字符

    范例1:查看test.txt文件的内容

    cat test.txt

    8d0244732c5337aa7a68f666e1cbcdb4.png

    范例2:查看test.txt文件的内容, 并展示行号

    cat -n test.txt

    4bdb00ce69d5cc6de5f0bfa7443d5fc7.png

    范例3: 不推荐使用cat查看大文件

    cat -n test.txt

    b07befd7c50a73891eb4be540de07176.png

    cat仅仅适合查看行数比较少的文件, 如果文件比较大则没有什么意义了,文件会快速翻到最后一行。如果文件中有特殊符号,比如[Tab], 换行等要显示出来,就必须加上-A之类的选项。当然cat也可以通过管道符配合more或less使用也可以达到比较好的效果。

    tac(和cat打印顺序相反)

    tac学过之后笔者从来没有实际应用过,由于用的比较少,所以大家知道就行了。不过这个命令比较有意思,和cat拼写相反,所以他们的打印顺序也相反,将最后一行作为第一行输出。范例1:倒叙查看文件的内容

    8332553334f93621ead5c09ba50e4557.png

    翻页查看

    more

    more命令了解一下就行了,功能太少,笔者一般都用less命令。

    按键/命令空格键(Space):向下翻页回车(Enter):向下翻行/字符串:在当前显示的内容(翻页进度位置),向下查找这个字符串关键字:f:立刻显示文件名以及目前位置的行号q::退出当前文件的浏览b或ctrl+b:往回翻页范例1:翻行后,查看行号

    8b2eee37fc7debd26edab3bba07e42c8.png

    less

    less命令比more更加有弹性,可以前后翻页,不止可以向上查找,也可以向下查找。按键/命令[pagedown]:向下翻页[pageup] :向上翻页/字符串:在当前显示的内容(翻页进度位置),向下查找这个字符串关键字?字符串:向上查找字符串n :重复前一个查找,与/或?有关, 比如前一个命令是?表示向上查找,此时n会向上查找N: 反向的重复前一个查找g :跳转到当前文件数据的第一行G :跳转到当前文件数据的最后一行q :退出当前文件的浏览

    范例演示

    a53c048ce4e8aa13f667bdd60574ee67.png

    数据截取

    head

    head命令用来提取文件的前n行,一般配合使用-n选项。当指定的行数为负数-x时,则会打印出除了后面x行的其他所有数据。范例1:查看前10行数据

    48277d9e44ec306cd83710bfa04789ee.png

    范例2(一共10000行,没有空行):head -n -9989 test.txt

    99d09f5f3a04d2134c87532c8a78b7ca.png

    tail

    从文件尾部截取数据。tail也是工作中最常用的命令,因为可以利用-f选项,一直刷新获取文件尾部最新数据。

    选项与参数-n: 查看后n行数据,注意当n后面值带“+”号表示从第x行开始, 如 tail -n +1000 test.txt

    -f: 展示文件后面范例1:查看尾部5行数据【tail -n 5 test.txt】

    ca24caafcf64cf3a84586fbd37cd3f8d.png

    范例2:查看文件尾部数据,并实时刷新数据

    854dc118385452b0ee87ed63b8fea07a.png

    范例3:查看文件尾部5行数据,并实时刷新数据

    e08e95e2523d48fdf1a302f81a0bb293.png

    通用命令

    管道:Shell 还有一种功能,就是可以将两个或者多个命令(程序或者进程)连接到一起,把一个命令的输出作为下一个命令的输入,以这种方式连接的两个或者多个命令就形成了管道(pipe),管道命令用"|"来表示。

    范例:查看ll命令输出的前10行

    ll | head -n 3

    c0d6cc419e64a42655591b834022bb1c.png

    grep: 命令用于查找文件里符合条件的字符串,这两个命令也是linux中最常用的的,而在查看日志文件也通常会结合这两个命令一起使用。

    范例:查看文件文件中那些行包含‘999’

    cat -n test.txt | grep '999'

    45f923aefa1ee2ebee8af9da789979b7.png

    >>: 文件追加重定向命令,可以往文件末尾追加数据,正如上文 echo "第$i行" >> test.txt。

    范例:将一个文件的最后10行复制到helloworld.txt中

    tail -n 10 >> helloworld.txt

    59f0363044bd301b51c801e76b1b5e1f.png

    wc:文件字节数,字数,行数查看wc [-clw] [文件...],

    -c或--bytes或--chars 只显示Bytes数。-l或--lines 只显示行数。-w或--words 只显示字数。范例:查看文件行数

    wc -l

    案例实战

    案例1:打印日志文件中第11到20行。思路:首先获取前20行,然后在获取20行的后10行即可,需要使用管道命令。

    head -n 20 text.txt | tail -n 10

    82a13b59bcdbc3740abbabfad59cf672.png

    cat -n test.txt | head -n 20 | tail -n 10(如果需要行号)

    d6125167c65ace60eeabd1dffa9a19c7.png

    总结

    Linux的命令实在太多了,对于开发来讲要用到的也有很多,不过笔者认为首先要知道是否存在相关命令,然后分类掌握最常用的,需要时再查表即可。没有必要去纠结命令记不记得住,毕竟这些东西决定不了你的上限。

    除了以上命令外,Linux中还有许多查看日志文件内容的奇巧淫记,比如sed命令等,那么在平时你最常使用的命令有哪些呢?欢迎写伙伴们留(:

    展开全文
  • 所以今天我就来记录一下,如何清理日志的过程。 二.解决 1.首先我们要查看占用情况 df -h 由上面图片可以看出,data目录已经占用了98%,所以我们需要清理。 2.查看data目录下的占用情况 du -sh * ...

    一.问题发现

    之前使用文件服务器的时候,会报一个错误,具体错误忘记了,经百度查是因为data目录的内存快占满了,超过了90%,项目的日志占用的空间过大,所以需要清理。所以今天我就来记录一下,如何清理日志的过程。

    二.解决

    1.首先我们要查看占用情况

         df -h
    

    由
    由上面图片可以看出,data目录已经占用了98%,所以我们需要清理。

    2.查看data目录下的占用情况

    du -sh *
    

    在这里插入图片描述
    由图片中可以看出,红圈的三个子目录的项目中中,内存占用较多,所以我们分别进入到这三个目录进行清理。(可以使用这条命令一层一层目录进行筛选,看哪个占用较多)
    以上一张图片中占用28G的目录中的使用情况为例,主要是logs日志目录中的占用较多,所以我们需要清理日志。
    在这里插入图片描述
    我们由下面的图片我们可以看见,有很多很早之前的日志文件,已经没用,所以清理。(我进行该操作的时候,已经2020/3/30号)
    在这里插入图片描述
    通常我们只保存一个月的日志:所以下面这条命令的参数是30,有后缀为.log和.txt的两种文件,所以需要执行以下两条命令。

    find /data/gatepics/tomcat8123/logs/ -mtime +30|grep -E '*.log$'|xargs sudo rm -rf
    
    find /data/gatepics/tomcat8123/logs/ -mtime +30|grep -E '*.txt$'|xargs sudo rm -rf
    

    其次,我们再次通过du -sh * 这条命令,查看到,下图中箭头所指的文件占用的内存较大,如果没什么需要,则可以清空
    在这里插入图片描述
    清空使用的命令:

    cat /dev/null > /data/gatepics/tomcat8123/logs/catalina.out 
    

    若是提示没有权限的话,
    在这里插入图片描述
    則先執行以下命令,賦予權限,再執行上一條指令清空。(f7777777 为登录账号)

    sudo chown -R f7777777 :f7777777 /data/gatepics/tomcat8123/
    

    三 以此類推,其他項目的項目日志可參考這樣删除。

    展开全文
  • 便捷动态查看日志文件Linux 上跑脚本或者任务的时候,总是把日志打到文件里,有时候想知道当前进度的时候总是使用tail log.txt,这样很不程序员,所以就调研了下如何动态查看。 使用命令 tailf log.txt就可以...

    便捷动态查看日志文件

    在 Linux 上跑脚本或者任务的时候,总是把日志打到文件里,有时候想知道当前进度的时候总是使用tail log.txt,这样很不程序员,所以就调研了下如何动态查看。
    使用命令 tailf log.txt就可以实现动态查看日志文件,与该命令相似的命令是 tail -f log.txt

    展开全文
  • linux 如何显示一个文件的某几行(中间几行) 【一】从第3000行开始,显示1000行。即显示3000~3999行 cat filename | tail -n +3000 | head -n 1000 【二】显示1000行到3000行 cat filename| head -n 3000 | tail ...

    微信搜索:“二十同学” 公众号,欢迎关注一条不一样的成长之路

    linux 如何显示一个文件的某几行(中间几行)

    【一】从第3000行开始,显示1000行。即显示3000~3999行

    cat filename | tail -n +3000 | head -n 1000

    【二】显示1000行到3000行

    cat filename| head -n 3000 | tail -n +1000

    *注意两种方法的顺序

    分解:

        tail -n 1000:显示最后1000行

        tail -n +1000:从1000行开始显示,显示1000行以后的

        head -n 1000:显示前面1000行

    【三】用sed命令

     sed -n '5,10p' filename 这样你就可以只查看文件的第5行到第10行。

    Linux统计文件行数

    语法:wc [选项] 文件…

    说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。

    该命令各选项含义如下:

      - c 统计字节数。

      - l 统计行数。

      - w 统计字数。

    这些选项可以组合使用。

    输出列的顺序和数目不受选项的顺序和数目的影响。

    总是按下述顺序显示并且每项最多一列。

    行数、字数、字节数、文件名

    如果命令行中没有文件名,则输出中不出现文件名。

    例如:

    $ wc - lcw file1 file2

    4 33 file1

    7 52 file2

    11 11 85 total

    举例分析:

    1.统计demo目录下,js文件数量:

    find demo/ -name "*.js" |wc -l

    2.统计demo目录下所有js文件代码行数:

    find demo/ -name "*.js" |xargs cat|wc -l 或 wc -l `find ./ -name "*.js"`|tail -n1

    3.统计demo目录下所有js文件代码行数,过滤了空行:

    find /demo -name "*.js" |xargs cat|grep -v ^$|wc -l

    展开全文
  • 对于笔者这种小菜鸡来说,第一反应就是 cat,tail,vi(或vim)了,是的,我曾经用过好多次vim编辑器来查看日志文件(可耻)。千万不要使用vi命令来查看大文件内容, 尤其对于那些几十G的大文件。因为vi仅仅是一个编辑器...
  • 如何查看linux系统下的各种日志文件 linux 系统日志的分析大全 日志分类: 1. 连接时间的日志 连接时间日志一般由/var/log/wtmp和/var/run/utmp这两个文件记录,不过这  两个文件无法直接cat查看,并且该文件...
  • 对于笔者这种小菜鸡来说,第一反应就是 cat,tail,vi(或vim)了,是的,我曾经用过好多次vim编辑器来查看日志文件。千万不要使用vi命令来查看大文件内容, 尤其对于那些几十G的大文件。因为vi仅仅是一个编辑器(可以...
  • linux 如何显示一个文件的某几行(中间几行)【一】从第3000行开始,显示1000行。即显示3000~3999行cat filename | tail -n +3000 | head -n 1000【二】显示1000行到3000行cat filename| head -n 3000 | tail -n +1000...
  • Linux 系统上的日志文件包含了很多信息——比你有时间查看的还要多。以下是一些建议,告诉你如何正确的使用它们……而不是淹没在其中。-- Sandra Henry-stocker(作者)Linux 系统上的日志文件包含了很多信息——比你...
  • linux查看日志文件内容命令tail、cat、tac、head、echo、vim tail -f test.log你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, ---------------------------------------------------------------...
  • 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
  • 1.日志文件路径 mysql> show variables like ‘general_log_file’; ±-----------------±-----------------------------------+ | Variable_name | Value | ±-----------------±--------------------
  • 对于我这种小菜鸡来说,第一反应就是 cat,tail,vi(或vim)了,是的,我曾经用过好多次vim编辑器来查看日志文件(可耻)。 千万不要使用vi命令来查看大文件内容, 尤其对于那些几十G的大文件。因为vi仅仅是一个...
  • linux日志: 分类:系统的日志和应用日志日志产生的路径: 一般是应用安装的当前目录下,或者是应用自己制定的路径,还有就是/var/log下。 接下来列举下我装好centos7系统看到的/var/log,后续有的话再补充。 ...
  • 查看日志时过滤 在web程序中,有时候我们需要使用第三方的组件,而有些组件会在使用时不停的输出日志。这些日志和自己的业务日志混杂在一起,查看起来非常不方便。 那么,有什么办法可以在查看日志时,过滤掉某些...
  • 大部分Linux发行版默认的日志守护进程为 syslog,位于 /etc/syslog 或 /etc/syslogd,默认配置文件为 /etc/syslog.conf,任何希望生成日志的程序都可以向 syslog 发送信息。Linux系统内核和许多程序会产生各种错误...
  • 对于我这种小菜鸡来说,第一反应就是 cat,tail,vi(或vim)了,是的,我曾经用过好多次vim编辑器来查看日志文件(可耻)。千万不要使用vi命令来查看大文件内容, 尤其对于那些几十G的大文件。因为vi仅仅是一个编辑器...
  • 动态开启mysql实时查看日志文件的方法。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 667
精华内容 266
关键字:

linux如何查看日志文件

linux 订阅