zoukankan      html  css  js  c++  java
  • tail -f 和 -F 的用法

    -f 是--follow[=HOW]的缩写, 可以一直读文件末尾的字符并打印出来.

    "[=HOW]"有两个写法,一个"=descriptor",另一个是"=name", 默认使用的是"descriptor", 如果你跟踪的文件被移动或者改名后, 你还想继续tail它, 你可以使用这个选项.

    举个例子:

    首先启动下面进程

    while [ "true" ] ; do date >> test.log; sleep 1 ; done;

    然后在开一个新的进程,我是新开了一个终端, 起名叫 bash-2

    tail -f test.log

    你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C,

    mv test.log test.log1;

    while [ "true" ] ; do date >> test.log1; sleep 1 ; done;

    继续观察bash-2, 发现屏幕在输出test.log2的内容.

    descriptor 虽然是默认的参数,但是一定是最有用的,比如在tail 一个log文件的时候,这个文件很可能是按照日期或者大小滚动, 文件滚动之后这个tail -f命令,就失效了. 我在之前写的一个脚本里面就遇到了这个问题, 这个时候可以使用-F 命令

    -F 是--follow=name --retry的缩写, --follow=name是按照文件名跟踪文件, 可以定期去重新打开文件检查文件是否被其它程序删除并重新建立. --retry这个参数, 保证文件重新建立后,可以继续被跟踪.

    还是上面的例子,

    在bash-1中输入,

    while [ "true" ] ; do date >> test.log; sleep 1 ; done;

    bash-2中,

    tail -F test.log

    bash-3中,

    rm test.log;

    然后看bash-2, 屏幕上依然在继续输出test.log的内容. 如果是在使用-f 时候,那bash-2应该就停止显示log了.

  • 相关阅读:
    svn安装使用
    mysql安装使用
    iframe使用
    Confluence 6 自定义你的空间
    Confluence 6 设置其他页面为你空间的主页
    Confluence 6 设置你的个人空间主页
    Confluence 6 空间中的常用宏
    Confluence 6 如何考虑设置一个空间的主页
    Confluence 6 设置一个空间主页
    Confluence 6 如何让我的小组成员知道那些内容是重要的
  • 原文地址:https://www.cnblogs.com/xiaoleiel/p/8349673.html
Copyright © 2011-2022 走看看