• Linux命令(四)


    请不要在服务器上直接对日志文件进行vim(vi)操作,这样可能会导致机器直接挂掉。

    常用的日志文件如下:
      access-log         纪录HTTP/web的传输

      acct/pacct         纪录用户命令

      aculog           纪录MODEM的活动

      btmp            纪录失败的纪录

      lastlog  纪录最近几次成功登录的事件和最后一次不成功的登录

      messages    从syslog中记录信息(有的链接到syslog文件)系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 

      sudolog           纪录使用sudo发出的命令

      sulog           纪录使用su命令的使用

      syslog     从syslog中记录信息(通常链接到messages文件)

      utmp            纪录当前登录的每个用户

      wtmp        一个用户每次登录进入和退出时间的永久纪录

      xferlog           纪录FTP会话

    /var/log/secure与安全相关的日志信息 
    /var/log/maillog 与邮件相关的日志信息 
    /var/log/cron 与定时任务相关的日志信息 
    /var/log/spooler 与UUCP和news设备相关的日志信息 
    /var/log/boot.log 守护进程启动和停止相关的日志消息  

    最基本的查看日志命令   cat /var/log/*.log

    如果日志在更新,如何实时查看 tail -f /var/log/messages

    还可以使用 watch -d -n 1 cat /var/log/messages

    -d表示高亮不同的地方,-n表示多少秒刷新一次。

    该指令,不会直接返回命令行,而是实时打印日志文件中新增加的内容,这一特性,对于查看日志是非常有效的。如果想终止输出,按 Ctrl+C 即可。

    cat 查看文件的内容

    cat命令是一个显示文本文件内容的便捷工具,如果一个日志文件比较小,可以直接使用cat命令将其内容打印出来,进行查看,但是,对于较大的日志文件,请不要这样做,打开一个过大的文件可能会占用过多的系统资源,从而影响系统对外的服务。

    命令格式:

    cat [选项] [文件]...

    Ø  more 分页显示文件

    cat的缺点在于,一旦执行后,便无法再进行交互和控制,而more命令可以分页的展现文件内容,按enter键显示文件下一行,按空格键便显示下一页,按 f键显示下一屏内容,按b键显示上一屏内容。

    命令格式:

    more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ]

    Ø  less 分页显示文件

    less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。

    命令格式:

    less [参数]  文件

    Ø  tail 显示文件尾

    使用tail命令能够查看到文件最后几行,这对于日志文件非常有效,因为日志文件常常是追加写入的,新写入的内容处于文件的末尾位置。

    使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容. 

    命令格式;

    tail[必要参数][选择参数][文件]   

    Ø  head 显示文件头

    与tail命令类似,但是不同的是head命令用于显示文件开头的一组行。

    命令格式:

    head [参数]... [文件]...  

    Ø  sort 内容排序

    一个文件中包含有众多的行,经常需要对这些行中的某一列进行排序操作, sort命令的作用便是对数据进行排序。

    命令格式:

    sort [参数][文件]

    Ø  wc 字符统计

    wc命令可以用来统计指定文件中的字符数,字数,行数,并输出统计结果。

    命令格式:

    wc [选项]文件...

    Ø  uniq 查看重复出现的行

    uniq命令可以用来显示文件中行重复的次数,或者显示仅出现一次的行,以及仅仅显示重复出现的行,并且,uniq的去重针对的只是连续的两行,因此它常常与sort结合起来使用。

    命令格式:

    uniq[选项][参数]

    Ø  curl URL访问工具

    要想在命令行下通过HTTP协议访问网页文档,就不得不用到一个工具,这便是curl,它支持HTTP,HTTPS,FTP,FTPS,Telnet等多种协议,常被用来在命令行下抓取网页和监控WEB服务器状态。

    命令格式:

    curl [option] [url]

    Ø  查看请求访问量

    对于在线运行的系统来说,常常会碰到各种不怀好意的恶意攻击行为,其中比较常见的便是HTTP flood,也称为CC攻击。如何能够快速的定位到攻击,并迅速响应,便成为开发运维人员必备的技能。定位问题最快捷的办法,便是登录到相应的应用,查看访问日志,找到相应的攻击来源,如访问量排名前10的ip地址:

    cat access.log |cut -f1 -d " " | sort | uniq -c | sort -k 1 -n-r | head -10

    页面访问量排名前10的url:

    cat access.log |cut –f4 -d " " | sort | uniq -c | sort -k 1 -n -r | head -10

    Ø  查看最耗时的页面

    对于开发人员来说,页面的响应时间是非常值得关注的,因为这直接关系到用户能否快速的看到他想看到的内容。因此,开发人员常常需要将响应慢的页面找出来,进行优化:

    cat access.log | sort -k 2 -n -r | head -10

    Ø  统计404页面占比

    对于请求的返回码,有些时候也是需要关注的,比如,如果404请求占比过多, 要么就是有恶意攻击者在进行扫描,要么就是系统出现问题了,同样,对于 500的请求也是如此,可以通过如下命令来查看404请求的占比:

    export total_line=`wc-l access.log | cut -f1 -d " "` && export not_found_line=`awk '$6=='404'{print $6}' access.log | wc -l` && expr $not_found_line * 100 / $total_line

    处在这个俗世,也得让自己变得更好吧
  • 相关阅读:
    C++中求类的大小
    BP神经网络
    感知机
    static和const关键字
    C++随笔(2)
    React表单元素的使用
    React可控组件与不可控组件
    React组件-mixin
    React-组件嵌套-子组件通过委托向父组件传值
    React事件属性
  • 原文地址:https://www.cnblogs.com/butaileng7/p/13556837.html
Copyright © 2020-2023  润新知