我可以将文件重定向到终端吗?

我可以将文件重定向到终端吗?

知道我可以将所有终端输出重定向到一个文件,但反过来也可以吗?

我可以在 Tmux 或其他地方打开一个终端窗口,实时接收来自文件的重定向输出吗?例如,如果另一个进程正在写入文件,这会被定向到终端窗口吗?

用例:REPL 被输出淹没

我希望这样做的原因是我想在 REPL(原来是 Erlang)中看到一些代码的输出,它有许多进程在后台创建终端输出内容,但这种输出非常快,我经常“丢失”我的 REPL 命令行,因为它被输出淹没了。所以我想让这些进程输出到一个文件,但在另一个终端中,我仍然想实时看到输出的内容。

答案1

tail -f正是我所寻找的。

touch ~/foo
tail -f ~/foo

现在在另一个终端:

echo "hello" >> ~/foo
echo "there" >> ~/foo

效果很好。现在某些程序(例如 vim)将关闭并重新打开文件,tail -f无法工作,因此当您从 vim 保存时,您将看不到添加的内容。在这种情况下,使用tail -F,它明确跟在文件名而不是描述符后面。

相关内容