在CentOS中尾部多个文件

时间:2009-05-26 01:21:20

标签: linux command-line centos tail

我想在CentOS中拖尾多个文件(并按照它们),我试过这个:

  

tail -f file1 file2 file3

但输出非常不友好

我也看过多头但没找到CentOS版本。

我还有其他选择吗?

6 个答案:

答案 0 :(得分:6)

多线程可用于rpmforge repos中的CentOS。要添加rpmforge存储库,请检查the documentation on 3rd Party Repositories

答案 1 :(得分:2)

你可以通过在Emacs子窗口中打开tail -f的多个实例来模拟multitail。

答案 2 :(得分:2)

我通常只是打开另一个xterm并在那里运行一个单独的'tail -f'。

否则如果我使用'screen'工具,我会在那里设置单独的'tail -f'命令。我不喜欢这样,因为在使用Page Up和Page Down键之前需要几次按键才能在屏幕上滚动。我更喜欢使用xterm的滚动条。

答案 3 :(得分:2)

我发现这里描述的解决方案在centos上运行良好:

链接为http://www.thegeekstuff.com/2009/09/multitail-to-view-tail-f-output-of-multiple-log-files-in-one-terminal/

感谢Ramesh Natarajan

    $ vi multi-tail.sh
    #!/bin/sh

    # When this exits, exit all back ground process also.
    trap 'kill $(jobs -p)' EXIT

    # iterate through the each given file names,
    for file in "$@"
    do
        # show tails of each in background.
        tail -f $file &
    done

    # wait .. until CTRL+C
    wait

答案 4 :(得分:1)

你可以使用watch命令,我用它来同时拖尾两个文件:

观看-n0 tail -n30 file1 file2

答案 5 :(得分:0)

对旧问题的更好答案......

我在.bashrc中创建了一个shell函数(显然假设你使用bash作为你的shell)并使用tmux。你可能会把这很复杂化,并且没有临时文件就可以做到这一点,但是如果你试图确保名称中包含空格或其他奇怪字符的文件仍然有用,那么引用就太难了。

multitail ()
{
    cmdfile=`mktemp`

    echo "new-session -d \"tail -f '$1'\"" >$cmdfile
    shift

    for file in "$@"
    do
        echo "split-window -d \"tail -f '$file'\"" >>$cmdfile
    done

    echo "select-layout even-vertical" >>$cmdfile
    tmux source-file $cmdfile \; attach && rm -f $cmdfile
}