zoukankan      html  css  js  c++  java
  • Linux tail 命令详解

    -f ==>follow 显示后续的数据

    具体:

    Linux命令:显示文件结尾

      Head/Tail

      head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然就是看档案的结尾,看看下面的范例:

    (1)

      displays the first 6 lines of a file

      head -6 readme.txt

      (2) displays the last 25 lines of a file

      tail -25 mail.txt

      范例一是显示档案的前 6 行,范例二则是显示档案最后的 25 行。

      而下面的范别,结合了 head 与 tail 的指令,显示档案的第 11 行到第 20 行:

    (3)

      head -20 file | tail -10

       在 tail 的使用手册页中显示了比 head 还多的可用参数,其中有一个很好用的参数 " -f ",使用此参数时,tail 不会回传结束信号,除非我们去自行去中断它;相反的,它会一直等待一段时间,一直到他发现资料自它最后一次被读取后,又被加入新的一行时:

    (4)

      display ongoing updates to the given

      log file

      tail -f /usr/tmp/logs/daemon_log.txt

      上述范例可以动态显示该 log 文件的动态更新。

      假设该服务程序是一直不断的加入动态资料到/usr/adm/logs/daemon_log.txt 的 log 文件里,在命令列控制窗口中使用 tail -f,它将会以一定的时间实时追踪该档的所有更新。 ( -f 的只有在其输入为档案时才能使用 )。

      假如你在 tail 后下了多个档案参数,你便能在同一个窗口内一次追踪数个 log 档:

      track the mail log and the server error log

      at the same time.

      tail -f /var/log/mail.log /var/log/apache/error_log

      tac -- 反过来串连

       cat 倒过来怎么拼  对啦 !! 这就是 tac 的功能啰 ~ 它是把档案的顺序内容反过来串连用的,那么 ~ 它都用在什么状况下呢 ? 任何须要以后进先出的顺序重新排列组件的工作都用得上它 ! 以下面的指令来说,便是以自最后建立的到最先建立的顺序,列出三个最新建的使用者帐号:

    (5)

      last 3 /etc/passwd records - in reverse

      $ tail -3 /etc/passwd | tac

      curly:x:1003:100:3rd Stooge:/homes/curly:/bin/ksh

      larry:x:1002:100:2nd Stooge:/homes/larry:/bin/ksh

      moe:x:1001:100:1st Stooge:/homes/moe:/bin/ksh

    查看文件内容的特殊方法
      相信最基本的cat和less,more你已经很熟悉了,如果有特殊的要求呢:
    1. 如果你只想看文件的前5行,可以使用head命令,如:
    head -5 /etc/passwd
    2. 如果你想查看文件的后10行,可以使用tail命令,如:
    tail -10 /etc/passwd
    tail -f /var/log/messages
    参数-f使tail不停地去读最新的内容,这样有实时监视的效果

    一、UNIX下的TAIL命令

    说明:部分内容摘录自"永远的UNIX",http://fanqiang.chinaunix.net/

    NAME(名称)

    tail - 输出文件的末尾部分

    SYNOPSIS(总览)

    ../src/tail [OPTION]... [FILE]...

    DESCRIPTION(描述)

    在标准输出上显示每个FILE的最后10行. 如果多于一个FILE,会一个接一个地显示, 并在每个文件显示的首部给出文件名. 如果没有FILE,或者FILE是-,那么就从标准输入上读取.

    --retry
    即使tail开始时就不能访问或者在tail运行后不能访问,也仍然不停地尝试打开文件. -- 只与-f合用时有用.
    -c--bytes=N
    输出最后N个字节
    -f--follow[={name|descriptor}]
    当文件增长时,输出后续添加的数据; -f--follow以及 --follow=descriptor 都是相同的意思
    -n--lines=N
    输出最后N行,而非默认的最后10行
    --max-unchanged-stats=N
    参看texinfo文档(默认为5)
    --max-consecutive-size-changes=N
    参看texinfo文档(默认为200)
    --pid=PID
    -f合用,表示在进程ID,PID死掉之后结束.
    -q--quiet--silent
    从不输出给出文件名的首部
    -s--sleep-interval=S
    -f合用,表示在每次反复的间隔休眠S秒
    -v--verbose
    总是输出给出文件名的首部
    --help
    显示帮助信息后退出
    --version
    输出版本信息后退出

    如果N(字节或者行数)的第一个字符为`+', 那么从每个文件的开头算起的第N项开始显示, 否则, 显示该文件的最后N项. N可以有一个倍数前缀: b表示512,k表示1024,m表示1048576(1兆). 第一个选项 -VALUE 或+VALUE 以-n VALUE或-n +VALUE 方式看待,除非VALUE含有[bkm]后缀倍数中的一个,在这种情况下,它被看作 -c VALUE 或者-c +VALUE

    使用--follow (-f)时,tail默认后接文件描述符, 这意味着即使tail显示的文件改名了,tail仍然可以追踪到其末尾部分. 如果你确实希望查询文件的实际名而非文件描述符 (例如,日志轮转时), 这种默认的操作就不是你所期望的了. 在这种情况下应使用--follow=name. 这将导致tail通过周期性地重新打开所指定的文件来追踪其是否被删除了,或者被其他程序重新创建了.

            tail 的完整文档是以Texinfo手册形式维护的. 如果 info 和 tail 程序在你那儿都已经安装好了,那么命令:info tail 应该会让你访问到整篇手册.

           从上面的说明可以看到,最常用的形式是:tail   -f   sys.log

  • 相关阅读:
    盛最多水的容器
    字符串的排序
    整数拆分
    TCP和UDP编程
    旋转图像
    非递减数列
    不同路径2
    不同路径
    压缩拉伸图片
    Java对List分割及使用Spring多线程调用
  • 原文地址:https://www.cnblogs.com/aspirant/p/9799093.html
Copyright © 2011-2022 走看看