日期:2014-05-16  浏览次数:20585 次

关于tail命令的问题
请问下,tail -f 这个命令具体是怎么用的?
为什么我新建一个文件test,tail -f test,同时不断向test中写入字符,可是终端为什么没有显示呢?
------解决方案--------------------
tail -f
如果输入文件是常规文件或如果File 参数指定FIFO(先进先出),那么tail 命令不会在复制了输入文件的最后的指定单元后终止,而是继续从输入文件读取和复制额外的单元(当这些单元可用时)。如果没有指定File 参数,并且标准输入是管道,则会忽略-f 标志。tail -f 命令可用于监视另一个进程正在写入的文件的增长。
------解决方案--------------------
你在输入字符时,有不断的:w保存吗?如果没有的话,你所输入的字符都是存在于缓冲区内,tail -f 当然没有显示
------解决方案--------------------
要看你怎么输入的。编辑器输入是不行的。代码,或者脚本追加进去是可以的。
------解决方案--------------------
man一下:

“-f      The -f option causes tail to not stop when end of file is reached, but rather to wait for additional
             data to be appended to the input.  The -f option is ignored if the standard input is a pipe, but not
             if it is a FIFO.”

可以用echo测试:
1、tail -f testfile &
2、echo "a tail line" >testfile